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 應(yīng)用程序( Application) Android 的應(yīng)用程序主要是用戶界面( User Interface)方面的,通常以 JAVA 程序編寫,其中還可以包含各種資源文件(放置在 res 目錄中) JAVA 程序 及相關(guān)資源經(jīng)過編譯后,將生成一個 APK 包。 Android 本身提供了主屏幕( Home),聯(lián)系人( Contact),電話( Phone),瀏覽器( Browers)等眾多的核心應(yīng)用。同時應(yīng)用程序的開發(fā)者還可以使用應(yīng)用程序框架層的 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 應(yīng)用程序, 所以下載的 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)秀的游戲策劃應(yīng)該學習的內(nèi)容之一。 聲音,作為環(huán)境渲染和氣氛烘托的手段,使游戲更具有強烈的時代文化氣息,強調(diào)了開發(fā)者所要表達的 主題,對于游戲內(nèi)涵的增強具有積極的意義。嚴格根據(jù)游戲的需要,選擇恰當?shù)穆曇簦菍τ螒騼?nèi)涵的增強和補充,能讓玩家的視和聽統(tǒng)一結(jié)合起來,讓他們更快地融入角色,更深入地體會到游戲的樂趣。這正是開發(fā)者想要達到目的 。 在此次畢業(yè)設(shè)計中我們考慮了 2 種音效:背景音效和游戲音效 。 重力感應(yīng): Android 為我們提供了一系列的系統(tǒng)功能,重力感應(yīng)是其中的一個,我們可以調(diào)用系統(tǒng)函數(shù)來實現(xiàn)對手機的重力感應(yīng) ,只要在 xml 文件中添加上相應(yīng)的用戶許可即可。 聯(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ù)期的。不要怕費力,一定要認真優(yōu)化狀態(tài)轉(zhuǎn)移過程。此外, activity 之間切換、 ui 線程和游戲線程之間的切換,都是非?;ㄙM 時間的,應(yīng)該盡力避免。 游戲邏輯優(yōu)化: 預(yù)處理:盡可能地預(yù)處理游戲邏輯中的運算。比如游戲中經(jīng)常要用到隨機數(shù),就應(yīng)該在游戲開始之前,生成足夠的隨機數(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)恢復(fù)的時候調(diào)用; onStart():在 onCreate()后調(diào)用或者當 activity從停止態(tài)恢復(fù)的時候調(diào)用。它始終在 reStart()之前被調(diào)用; onResume():在 onStart()后調(diào)用或者當 activity從等待態(tài)恢復(fù)的時候調(diào)用; onPause():當 activity進入等待狀態(tài)時調(diào)用。當系統(tǒng)決定殺死我們的應(yī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 視圖在這里我們看到菜單選項選擇進入相應(yīng)的視圖; 在幫助視圖里我們可以看到游戲幫助和簡單操作介紹、在游戲關(guān)于視圖里我們可以看到游戲背景和開發(fā)人員信息;當我們進入快速游戲視圖后,進行正常游戲,成功闖關(guān)后進入SuccessView 視圖,否則進圖 FailView 視圖 ,這些就是游戲的整體流程。 19 第四 章 詳細 設(shè)計 模塊實現(xiàn) 重力感應(yīng)的實現(xiàn) public void initgravity() { //重力感應(yīng) 得到當前 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ù)是檢測的精確度 } 重力感應(yīng)的實現(xiàn)主要利用在對飛機的
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1