freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計-基于android和wifi技術(shù)的手機對戰(zhàn)游戲設(shè)計(編輯修改稿)

2025-07-10 01:17 本頁面
 

【文章內(nèi)容簡介】 分: Activity (活動) Broadcast Intent Receiver (廣播意圖接收者) Service (服務(wù)) Content Provider (內(nèi)容提供者) 7 應用程序( Application) Android 的應用程序主要是用戶界面( User Interface)方面的,通常以 JAVA 程序編寫,其中還可以包含各種資源文件(放置在 res 目錄中) JAVA 程序 及相關(guān)資源經(jīng)過編譯后,將生成一個 APK 包。 Android 本身提供了主屏幕( Home),聯(lián)系人( Contact),電話( Phone),瀏覽器( Browers)等眾多的核心應用。同時應用程序的開發(fā)者還可以使用應用程序框架層的 API 實現(xiàn)自己的程序。這也是 Android 開源的巨大潛力的體現(xiàn)。 Wifi 介紹 WiFi 的全稱是 Wireless Fidelity(無線保真技術(shù) ),又叫 標準。它的最大優(yōu)點就是傳輸速度較高,可以達到 11Mbps,另外它的有效距離也很長,同時與已有的各種 設(shè)備兼容。伴隨著 Intel 公司提出的筆記本電腦芯片組 —―迅馳 ‖被越來越多的人認可,這一技術(shù)也逐漸成為了大家關(guān)注的話題。不過自 2021 年底開始,很多手機廠商,特別是以生產(chǎn)智能手機為主的品牌便開始將 WiFi 引入自己的產(chǎn)品當中。 WiFi 技術(shù)突出的優(yōu)勢在于: 其一,無線電波的覆蓋范圍廣,基于藍牙技術(shù)的電波覆蓋范圍非常小,半徑大約只有 50 英尺左右 約合 15 米 ,而 WiFi 的半徑則可達 300 英尺左右 約合 100 米 ,辦公室自不用說,就是在整棟大樓中也可使用。最近,由 Vivato 公司推出的一款新型交換 機。據(jù)悉,該款產(chǎn)品能夠把目前 WiFi 無線網(wǎng)絡(luò) 300 英尺,接近 100 米的通信距離擴大到 4 英里約 公里 。 其二, WiFi 技術(shù)傳輸速度非常快,可以達到 11mbps,符合個人和社會信息化的需求。 其三,廠商進入該領(lǐng)域的門檻比較低。廠商只要在機場、車站、咖啡店、圖書館等人員較密集的地方設(shè)置 ―熱點 ‖,并通過高速線路將因特網(wǎng)接入上述場所。這樣,由于 ―熱點 ‖所發(fā)射出的電波可以達到距接入點半徑數(shù)十米至 100 米的地方,用戶只要將支持無線 LAN 的筆記本電腦或 PDA 拿到該區(qū)域內(nèi),即可高速接入因特網(wǎng)。也就是說,廠 商不用耗費資金來進行網(wǎng)絡(luò)布線接入,從而節(jié)省了大量的成本。 Android 的 Wifi 模塊框圖: 吳松: 基于 Android 和 wifi 技術(shù)的手機對戰(zhàn)游戲 8 圖 2 2 Wifi模塊圖 開發(fā)環(huán)境 及工具 微軟 XP 操作系統(tǒng)下,游戲使用 eclipse 進行開發(fā), jdk 采用的是 , sdk 開發(fā)環(huán)境的配置 JDK 的配置 首先到 sun 官方網(wǎng)址 : 下載 jdk,注意是 jdk 不是 jre,下載后如果是解壓包那就解壓到某目錄下,如: C:\Program\Files\Java\,右鍵點擊我的電腦 屬性 高級,點擊下面的環(huán)境變量,在下面的 ‖系統(tǒng)變量 ‖處選擇新建在變量處輸入JAVA_HOME 變量值中輸入剛才的目錄,比如 C:\ProgramFiles\Java\. 9 圖 2 3 JDK配置圖 確定后再新建一個變量名為 classpath,變量值為 : %JAVA_HOME%lib/。%JAVA_HOME%lib/,確定后找到 PATH 的變量,雙擊或點擊 編輯,在變量值 前面加上 %JAVA_HOME%/bin。 如圖:圖 24 然后開始 —運行 cmd,輸入 java 或者 javac 看看有沒有效果,如果出來一些表述的信息,說明 jdk 已經(jīng)安裝成功。 SDK 的配置 因為我們要開發(fā) Android 應用程序, 所以下載的 sdk 是 Google 那里下載,地址在的 sdk,下載后解壓到一個目錄,如:D:\SDK\android\\,然后設(shè)置環(huán)境變量,在 path 中設(shè)置值為:D:\SDK\android\\\tools,打開 dos窗口,輸入 android –h,如果看到一些 andorid 關(guān)于信息,說明 sdk 已經(jīng)安裝成功。 開發(fā)工具的配置 當 JDK 和 SDK 都安裝配置成功后,還要對 eclipse 進行配置,必須給 eclipse 添加 eclipse 插件才行,打 開 eclipse 后,點擊菜單欄的 help?install new software ..然后點擊 Add 會出來一個 Add Site的窗口,這里 Name 可 以 自 己 命 名 , location 中輸入插件的網(wǎng)絡(luò)地址 等待連接,然后 install,把 ‖Android DDMS‖和 ‖Andoird Development Tools‖都選中, finish 就可以了 ,完成后會提示重啟 eclipse 來加載插件,重啟后就可以了。 操作如圖 23 吳松: 基于 Android 和 wifi 技術(shù)的手機對戰(zhàn)游戲 10 圖 2 4 Eclipse安裝插件圖 11 功能需求 游戲音效 :在游戲中,按照聲音的功能不同,可以把它分作音樂和音效兩部分;按照聲音的來源不同,又可以分為麥克風、話筒輸入和音箱、耳機輸出;按照聲音的作用不同,還可以分為背景渲染和對事件警示兩種。由此看來,針對不同的需求設(shè)計不同的聲音,使其充分滿足游戲的需要,更好地為主題服務(wù),是優(yōu)秀的游戲策劃應該學習的內(nèi)容之一。 聲音,作為環(huán)境渲染和氣氛烘托的手段,使游戲更具有強烈的時代文化氣息,強調(diào)了開發(fā)者所要表達的 主題,對于游戲內(nèi)涵的增強具有積極的意義。嚴格根據(jù)游戲的需要,選擇恰當?shù)穆曇?,是對游戲?nèi)涵的增強和補充,能讓玩家的視和聽統(tǒng)一結(jié)合起來,讓他們更快地融入角色,更深入地體會到游戲的樂趣。這正是開發(fā)者想要達到目的 。 在此次畢業(yè)設(shè)計中我們考慮了 2 種音效:背景音效和游戲音效 。 重力感應: Android 為我們提供了一系列的系統(tǒng)功能,重力感應是其中的一個,我們可以調(diào)用系統(tǒng)函數(shù)來實現(xiàn)對手機的重力感應 ,只要在 xml 文件中添加上相應的用戶許可即可。 聯(lián)機作戰(zhàn):在游戲設(shè)計時,我們想要完成 2 部手機之間能夠建立連接,可以通過Wifi 實現(xiàn)連接來實現(xiàn)游戲數(shù)據(jù)的相互傳輸。 功能需求圖: 吳松: 基于 Android 和 wifi 技術(shù)的手機對戰(zhàn)游戲 12 圖 3 1 功能需求圖 游戲性能分析 任何一款游戲,其性能必然是我們不可不考慮到的問題,如果你開發(fā)出來的游戲讓玩家玩的時候,總是畫面不流暢,在玩家期望得到某些效果的時候,你不能很好的提供給他們所需要的,那么這款游戲就不能算的上是一款好游戲,所以在游戲性能必須要優(yōu)化。 優(yōu)化的方法多種, 繪圖優(yōu)化: 臟矩形:每次都重繪整個背景圖,其實是非常浪費的,前后兩幀的圖其實只有很少的一部發(fā)生了變化,因 此可以只重繪變化的部分。這是一種常用的繪圖優(yōu)化方式,需要注意的是, android 用了雙緩沖,也就是說,使用臟矩形的時候,需要連續(xù)繪制兩次才能完成對 surface 的刷新。 卷屏:這是常用的一種方法,緩存整張背景圖,抽象出一個可視窗口,僅顯示窗口中的內(nèi)容,窗口的移動方向與 sprite 相同,與背景運動方向相反。 android 游戲背景圖的分辨率一般與屏幕的相同,這種方法很少會被用到。 引擎優(yōu)化: 流水作業(yè)化資源:簡單來說,就是整合資源,不用的資源就及時釋放,需要用到的資源再加載 ,類似流水線生產(chǎn)過程。比如,游戲加載過程中,當前關(guān)卡(場景、模式等等)使用不到的音樂或者圖像資源就全部釋放,僅加載需要用的資源;用不到的線程,不要讓它休眠, 一定要將它處理掉 ;如果有的資源只用得到一部分,那么就拆解開 13 來,僅加載需要的部分。 狀態(tài)轉(zhuǎn)移邏輯:游戲開發(fā)前一定要想清楚狀態(tài)轉(zhuǎn)移,冗余的狀態(tài)變化將損耗框架的整體性能,對游戲流暢性的影響以及后期修改的成本往往是遠遠超出預期的。不要怕費力,一定要認真優(yōu)化狀態(tài)轉(zhuǎn)移過程。此外, activity 之間切換、 ui 線程和游戲線程之間的切換,都是非?;ㄙM 時間的,應該盡力避免。 游戲邏輯優(yōu)化: 預處理:盡可能地預處理游戲邏輯中的運算。比如游戲中經(jīng)常要用到隨機數(shù),就應該在游戲開始之前,生成足夠的隨機數(shù)供游戲邏輯調(diào)用,千萬避免使用系統(tǒng)自身的rand()函數(shù)。這種優(yōu)化方式難度比較大,但是往往是突破瓶頸的最有效手段。 算法優(yōu)化: 對需要優(yōu)化的地方一定要優(yōu)化,游戲算法很重要,不要簡單實現(xiàn)功能,要盡量用最好的算法來實現(xiàn)。 語法優(yōu)化:語法對運行速度也有很大影響,比如 for 循環(huán),不同的寫法,時間開銷差別極大 。 吳松: 基于 Android 和 wifi 技術(shù)的手機對戰(zhàn)游戲 14 第三 章 概要 設(shè)計 Android 的 Activity 生命周期結(jié)構(gòu)圖 圖 4 1 Activity生命周期圖 15 onCreate():當我們的 activity第一次運行的時候調(diào)用,這里我們啟動所有 UI組件。在整個生命周期中只調(diào)用一次; onRestart():當 activity從停止狀態(tài)恢復的時候調(diào)用; onStart():在 onCreate()后調(diào)用或者當 activity從停止態(tài)恢復的時候調(diào)用。它始終在 reStart()之前被調(diào)用; onResume():在 onStart()后調(diào)用或者當 activity從等待態(tài)恢復的時候調(diào)用; onPause():當 activity進入等待狀態(tài)時調(diào)用。當系統(tǒng)決定殺死我們的應用程序時,它也許是最后一道我們可以接收到的信息。這樣我們就可以保存下我們想要保留的所有狀態(tài); onStop():當 activity進入停止狀態(tài)的時候 調(diào)用。它首先被調(diào)用進入等待狀態(tài)。這意味著當一個 activity停止了,它首先等待,這就是系統(tǒng)對我們的最后通知,我們可以保存下需要的狀態(tài)。防止系統(tǒng)也許不會調(diào)用該方法,直接殺死 activity。所以 onPause()總是會在onStop()之前或 activity被殺死之前調(diào)用,這樣就可以讓我們保存下我們想要的東西; onDestroy:在 activity死亡的時候調(diào)用。這是我們想要保存信息用來下次使用的最后機會,activity一但死亡, onPause()或者 onStop()之后的方法都無法被調(diào)用了 【 11】 。 吳松: 基于 Android 和 wifi 技術(shù)的手機對戰(zhàn)游戲 16 手機 游戲 框架圖 圖 4 2游戲框架圖 17 服務(wù)器 — 客戶端 圖 4 3客戶端 — 服務(wù)器通信圖 這里我們采用 2 種不同的網(wǎng)絡(luò)傳輸方式來傳送數(shù)據(jù): TCP 用來建立連接、 UDP 用來傳送游戲數(shù)據(jù) 。 吳松: 基于 Android 和 wifi 技術(shù)的手機對戰(zhàn)游戲 18 程序 流程 圖 圖 4 4程序流程圖 程序由一個主函數(shù) Activity,當游戲啟動后被啟動,然后給 Activity 加上 SoundView 視圖,在 SoundView 里面我們可以設(shè)置游戲開始后是否開啟音效,設(shè)置成功后從SoundView 跳轉(zhuǎn)到 MenuView 視圖在這里我們看到菜單選項選擇進入相應的視圖; 在幫助視圖里我們可以看到游戲幫助和簡單操作介紹、在游戲關(guān)于視圖里我們可以看到游戲背景和開發(fā)人員信息;當我們進入快速游戲視圖后,進行正常游戲,成功闖關(guān)后進入SuccessView 視圖,否則進圖 FailView 視圖 ,這些就是游戲的整體流程。 19 第四 章 詳細 設(shè)計 模塊實現(xiàn) 重力感應的實現(xiàn) public void initgravity() { //重力感應 得到當前 X值, X值取值范圍為( 10, 10) //當手機屏幕向左時 X值為 10,向右時 X值為 10 SensorManager sensorMgr = null。 sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE)。 Sensor sensor = ()。 SensorEventListener lsn = new SensorEventListener() { public void onSensorChanged(SensorEvent e) { x = []。//得到當前 X值 } public void onAccuracyChanged(Sensor sensor, int accuracy) { } }。 (lsn,sensor,)。 //注冊 Listener,第三個參數(shù)是檢測的精確度 } 重力感應的實現(xiàn)主要利用在對飛機的
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1