【正文】
主界面,可以通過重力感應(yīng)來(lái)控制飛機(jī)左右移動(dòng)來(lái)射擊敵機(jī),如圖 54 所示。 吳松: 基于 Android 和 wifi 技術(shù)的手機(jī)對(duì)戰(zhàn)游戲 28 圖 5 4游戲界面 圖 5 5 游戲成功界面 當(dāng)我們成功擊毀所有的敵機(jī)和 Boss 后會(huì)跳轉(zhuǎn)到游戲成功界面,如圖 55。 我們還能夠通過 2部手機(jī)進(jìn)行聯(lián)機(jī)作戰(zhàn),其中一部手機(jī)當(dāng)做服務(wù)器端,建立主機(jī)的那部手機(jī)首先啟動(dòng),并成功建立好服務(wù)器,然后等待客戶端手機(jī)加入,當(dāng)客戶端加入游戲后,實(shí)現(xiàn) 2部手機(jī)的聯(lián)機(jī)作戰(zhàn)游戲,如圖 56所示。 29 圖 5 6聯(lián)機(jī)游戲界面 吳松: 基于 Android 和 wifi 技術(shù)的手機(jī)對(duì)戰(zhàn)游戲 30 結(jié)論與展望 畢業(yè)設(shè)計(jì)是我在大學(xué)學(xué)習(xí)階段的最后一個(gè)環(huán)節(jié),是對(duì)所學(xué)基礎(chǔ)知識(shí)和專業(yè)知識(shí)的一種綜合應(yīng)用,是一種綜合的再學(xué)習(xí)、再提高的 過程,這一過程有助于培養(yǎng)我的 學(xué)習(xí) 能力和獨(dú)立工作能力。我選的題目是 基于 Android 平臺(tái)的手機(jī)游戲開發(fā) 設(shè)計(jì),這個(gè)題目對(duì)于我而言是一個(gè)全新的挑戰(zhàn)。在設(shè)計(jì)時(shí), 值得注重的是游戲性能的提高 。 游戲性能 一直是許多 游戲開發(fā)者 存在的 問題 。我選擇這個(gè)題目,就是想在大學(xué)這個(gè)最后的、最重要的時(shí)間 里通過自己自學(xué)來(lái)好好學(xué)習(xí)一下 Android 平臺(tái)游戲的初步 開發(fā) 過程。 通過本次畢業(yè)設(shè)計(jì),我感到自己應(yīng)用基礎(chǔ)知識(shí)及專業(yè)知識(shí)解決問題的能力有了很大的提高, 我 即將工作之前,它是一次重要演練。我想,通過這次畢業(yè)設(shè)計(jì),到了工作單位后,我將能夠更快的學(xué)會(huì)新 的知識(shí)和運(yùn)用大學(xué)里學(xué)到的知識(shí)。 隨著畢業(yè)日子的到來(lái),畢業(yè)設(shè)計(jì)也接近了尾聲。經(jīng)過幾周的奮戰(zhàn)我的畢業(yè)設(shè)計(jì)終于完成了。在沒有做畢業(yè)設(shè)計(jì)以前覺得畢業(yè)設(shè)計(jì)只是對(duì)這幾年來(lái)所學(xué)知識(shí)的單純總結(jié),但是通過這次做畢業(yè)設(shè)計(jì)發(fā)現(xiàn)自己的看法有點(diǎn)太片面。畢業(yè)設(shè)計(jì)不僅是對(duì)前面所學(xué)知識(shí)的一種檢驗(yàn),而且也是對(duì)自己能力的一種提高。通過這次畢業(yè)設(shè)計(jì)使我明白了自己原來(lái)知識(shí)還比較欠缺。自己要學(xué)習(xí)的東西還太多,以前老是覺得自己什么東西都會(huì),什么東西都懂,有點(diǎn)眼高手低。通過這次畢業(yè)設(shè)計(jì),我才明白學(xué)習(xí)是一個(gè)長(zhǎng)期積累的過程,在以后的工作、生活中都應(yīng)該不斷的 學(xué)習(xí),努力提高自己知識(shí)和綜合素質(zhì)。 在這次畢業(yè)設(shè)計(jì)中也使我們的同學(xué)關(guān)系更進(jìn)一步了,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對(duì)我們更好的理解知識(shí),所以在這里非常感謝幫助我的同學(xué)。 我的心得也就這么多了,總之,不管學(xué)會(huì)的還是學(xué)不會(huì)的的確覺得困難比較多,真是萬(wàn)事開頭難,不知道如何入手。最后終于做完了有種如釋重負(fù)的感覺。此外,還得出一個(gè)結(jié)論:知識(shí)必須通過應(yīng)用才能實(shí)現(xiàn)其價(jià)值!有些東西以為學(xué)會(huì)了,但真正到用的時(shí)候才發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會(huì)用的時(shí)候才是真的學(xué)會(huì)了。 在此要感謝我的指導(dǎo)老師 胡平 對(duì)我悉心的指導(dǎo),感謝老師給我的幫助。在設(shè)計(jì)過程中,我通過查閱大量有關(guān)資料,與同學(xué)交流經(jīng)驗(yàn)和自學(xué),并向老師請(qǐng)教等方式,使自己學(xué)到了不少知識(shí),也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個(gè)設(shè)計(jì)中我懂得了許多東西,也培養(yǎng)了我獨(dú)立工作的能力,樹立了對(duì)自己工作能力的信心,相信會(huì)對(duì)今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動(dòng)手的能力,使我充分體會(huì)到了在創(chuàng)造過程中探索的艱難和成功時(shí)的喜悅。雖然這個(gè)設(shè)計(jì)做的也不太好,但是在設(shè)計(jì)過程中所學(xué)到的東西是這次畢業(yè)設(shè)計(jì)的最大收獲和財(cái)富,使我終身受益。 31 致 謝 經(jīng)過半年的忙碌和工作,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,作為一個(gè)本科生的畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個(gè)設(shè)計(jì)是難以想象的。 在這里首先要感謝我的導(dǎo)師胡平老師。胡老師平日里工作繁多,但在我做畢業(yè)設(shè)計(jì)的每個(gè)階段,從查閱資料到設(shè)計(jì)草案的確定和修改,中期檢查,后期詳細(xì)設(shè)計(jì)等整個(gè)過程中都給予了我們悉心的指導(dǎo)。我的設(shè)計(jì)較為復(fù)雜煩瑣,但是胡老師仍然細(xì)心地糾正圖紙中的錯(cuò)誤。除了敬佩胡老師的專業(yè)水平外,他的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究 的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。 其次要感謝我的同學(xué)對(duì)我無(wú)私的幫助,特別是在軟件的使用方面,正因?yàn)槿绱宋也拍茼樌耐瓿稍O(shè)計(jì),我要感謝我的母校 ——安徽工程大學(xué),是母校給我們提供了優(yōu)良的學(xué)習(xí)環(huán)境;另外,我還要感謝那些曾給我授過課的每一位老師,是你們教會(huì)我專業(yè)知識(shí)。 通過這一階段的努力,我的畢業(yè)論文《 基于 Android 和 wifi 技術(shù)的手機(jī)對(duì)戰(zhàn)游戲 》終于完成了, 這意味著大學(xué)生活即將結(jié)束。在大學(xué)階段,我在學(xué)習(xí)上和思想上都受益非淺,這除了自身的努力外,與各位老師、同學(xué)和朋友的關(guān)心、支持和鼓 勵(lì)是分不開的。 在本論文的寫作過程中, 我的導(dǎo)師傾注了大量的心血, 從選題到開題報(bào)告,從寫作提綱,到一遍又一遍地指出每稿中的具體問題,嚴(yán)格把關(guān),循循善誘,在此我表示衷心感謝。同時(shí)我還要再次感謝在我學(xué)習(xí)期間給我極大關(guān)心和支持的各位老師以及關(guān)心我的同學(xué)和朋友。寫作畢業(yè)論文是一次再系統(tǒng)學(xué)習(xí)的過程,畢業(yè)論文的完成,同樣也意味著新的學(xué)習(xí)生活的開始。我將銘記我曾是一名安徽工程大學(xué)的學(xué)子,在今后的工作中把做人、做事、做學(xué)問的優(yōu)良傳統(tǒng)發(fā)揚(yáng)光大。 作者 : 雷鋒 2021 年 5 月 25 日 吳松: 基于 Android 和 wifi 技術(shù)的手機(jī)對(duì)戰(zhàn)游戲 32 主要參考文獻(xiàn) [1]林巧民 ,林萍 ,王汝傳 . 3D 游戲開發(fā)中的碰撞檢測(cè)算法研究 [J]. 計(jì)算機(jī)技術(shù)與發(fā)展 . 2021(05) [2]王志強(qiáng) ,洪嘉振 ,楊輝 . 碰撞檢測(cè)問題研究綜述 [J]. 軟件學(xué)報(bào) . 1999(05) [3] 王全宇 . 基于 Android 平臺(tái)的移動(dòng)游戲引擎的設(shè)計(jì)與實(shí)現(xiàn) [D]. 東華大學(xué) 2021 [4] 差沙 ,地獄男爵 . 用 Android 開發(fā)手機(jī)應(yīng)用 [J]. 程序員 . 2021(01) [5] 王瀟鋒 . 基于資源管理的 2D 網(wǎng)絡(luò)游戲引擎的設(shè)計(jì)與實(shí)現(xiàn) [D]. 西南交通大學(xué) 2021 [6] 馮海東 . 2D 游戲圖形引擎開發(fā)及 UML 建模實(shí)現(xiàn) [D]. 四川大學(xué) 2021 [7] 趙鋼 . 基于手機(jī)平臺(tái)的多人網(wǎng)絡(luò)游戲的分析和設(shè)計(jì) [D]. 北京郵電大學(xué) 2021 [8] 江峰 . 3D 游戲引擎研究與實(shí)現(xiàn) [D]. 浙江大學(xué) 2021 [9] 韋宇煒 . 基于 OpenGL 技術(shù)的三維游戲引擎開發(fā) [D]. 廣東工業(yè)大學(xué) 2021 [10] Vladimir Silva. Pro Android Games [M]. Apress 2021 [11]Mario Zechner , Beginning Android Games[M] 2021 [13]Lauren Darcey, Shane Wireless Professional, 2021:112121. [14]Enck W, Ongtang M, McDaniel P. Understanding Android Security. IEEE Computer Society, 2021:178191. [15]Stanislav Pavlov, Pavel Belevsky. Windows Embedded CE :Microsoft Press,2021:98100. 33 附 錄 附錄 A 外文文獻(xiàn)及譯文 From 《 Beginning Android Games》: Part1: Android Game Project Setup in Ten Easy Steps Let’s now bine all the preceding information and develop a simple stepbystep method to create a new Android game project in Eclipse. Here’s what we want from our project: It should be able to use the latest SDK version’s features while maintaining patibility with the lowest SDK version that some devices still run. That means we want to support Android and above. It should be installed to the SD card when possible so we don’t fill up the internal storage of the should be should have a single main activity that will handle all configuration changes itself so it doesn’t get destroyed when the hardware keyboard is revealed or the orientation of the device is changed. The activity should be fixed to either portrait or landscape mode. It should allow us to access the SD card. It should allow us to get ahold of a wake lock. Those are some easy goals to achieve with the information you just acquired. So hereare the steps: 1. Create a new Android project in Eclipse by opening the New Android Project dialog 2. In the New Android Project dialog, specify your project’s name and set the build target to the latest available SDK version. 3. In the same dialog, specify the name of your game, the package all your classes will be stored in, and the name of your main activity, Then set the minimum SDK version to 3. Press Finish to make the project a reality. 4. Open the file. 5. To make Android install the game on the SD card when available, add the installLocation attribute to the manifest element and set it to preferExternal. 6. To make the game debuggable, add the debuggable attribute to the application element and set it to true. 7. To fix the orientation of the activity, add the screenOrientation attribute to the activity element and specify the orientation you want (portrait or landscape).To tell Android that we want to handle the keyboard, keyboardHidden,and orientation configuration changes, set the configChanges attribute of the activity element to keyboard|keyboardHidden|orientation. 8. Add two usespermission elements to the manifest element and specify the name attributes and . 9. Finally, add the targetSdkVersion attribute to the usessdk element and specify your target SDK. It should be the same as the one you specified for the build target in step 1. And there you have it. Ten easy steps that will generate a fully defined app