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

正文內(nèi)容

畢業(yè)論文-基于cocos2d-x游戲引擎的飛行射擊類游戲設(shè)計與實現(xiàn)-全文預(yù)覽

2024-12-29 22:39 上一頁面

下一頁面
  

【正文】 圖 游戲主界面 圖 無盡模式界面 闖關(guān)模式界面 闖關(guān)模式界面包含 八 個元素,分別是背景、玩家戰(zhàn)機、子彈、敵方飛機、分?jǐn)?shù)標(biāo)簽、積分、 BOSS、 BOSS 子彈。 圖 闖關(guān)模式界面 圖 設(shè)置界面 中國礦業(yè)大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 第 14 頁 4 系統(tǒng)設(shè)計 軟件的實際開發(fā)階段從系統(tǒng)設(shè)計正式開始,這部分主要完成的任務(wù)是把之前所做的分析模型轉(zhuǎn)換為軟件的設(shè)計模型。 游戲 主要描述的是,為了維護國家的領(lǐng)空權(quán),玩家戰(zhàn)機翱翔于天空 , 大戰(zhàn)敵方飛機。 ( 2) 判斷雙排子彈是否擊中敵機一、二、三 。 ( 2) 判斷手指最初觸摸地方是否在戰(zhàn)機有效范圍內(nèi),若在執(zhí)行下一步 。 戰(zhàn)機模塊的設(shè)計 戰(zhàn)機模塊分為無盡模式戰(zhàn)機模塊和闖關(guān)模式戰(zhàn)機模塊,基本算法分為以下幾步 : ( 1) 在每一幀中,先執(zhí)行 戰(zhàn)機移動模塊 。每一幀上子彈的數(shù)量很多,但每顆子彈的算法是一致的 ,分為以下幾步 : ( 1) 獲取戰(zhàn)機的世界坐標(biāo)位置 。 ( 5) 若子彈移動的位置超出了屏幕并沒有擊中任何敵機,則對其進行回收。 表 敵機 屬性 生命值 對應(yīng)分?jǐn)?shù) 敵機一 1 10 敵機二 5 50 敵機三 12 100 敵機每被一顆子彈擊中,生命值減一,當(dāng)生命值減到零時敵機滅亡。 ( 4) 若敵機毀滅,執(zhí)行爆炸幀動畫并在數(shù)組中刪除敵機 。 道具模塊的設(shè)計 道具分為兩種,分別為全屏炸彈和雙排子彈。 中國礦業(yè)大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 第 16 頁 ( 2) 判斷玩家是否使用全屏炸彈,若使用全屏炸彈則執(zhí)行 3。闖過第一關(guān)后,每個關(guān)卡會有不同的 BOSS,它們會發(fā)射攻擊力不同的子彈,所以會增加一個 BOSS 子彈層 ,在每一幀中會自動檢測每顆子彈是否擊中玩家戰(zhàn)機。 圖 碰撞檢測原理圖 音樂播放模塊的設(shè)計 若玩家選擇了打開背景音樂和游戲音效,當(dāng)游戲開始時,音樂模塊需要把音樂資源載入程序并且播放。 Cocos2dx 游戲引擎中提供了批次渲染機制 CCSpriteBatchNode,這種機制能使出現(xiàn)在屏幕之上的眾多子彈只被渲染一次,大大提高了游戲的運行效果 。 經(jīng)過加載后需要 1MB( 512*512*4=1MB)的空間,遠遠大于原圖。此外 Cocos2dx 為開發(fā)者提供了使用 plist 文件的函數(shù),開發(fā)者使用經(jīng)過打包的紋理圖,可以大大減少紋理所占內(nèi)存以及紋理切換所帶來的開銷。使用這個類會大大減少我們在數(shù)據(jù)存儲上所 花 費的時間。場景可以通俗的理 解為手機屏幕,它是有一個或多個層組成的。 中國礦業(yè)大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 第 18 頁 由于有些類是使用游戲引擎所必須定義的,所以本游戲的 類 會比較多。 敵機層類:繼承 CCLayer 類,主要負責(zé)三種敵機類型生命值的設(shè)定、闖關(guān)模式中 BOSS標(biāo)記符的設(shè)定、游戲難度的設(shè)定、加載三種敵機、移除三種敵機、三種敵機的爆炸效果、敵機數(shù)組的操作。它主要負責(zé)戰(zhàn)機普通子彈與三種敵機的 碰撞檢測、戰(zhàn)機在獲得雙排子彈道具后雙排子彈與三種敵機的碰撞檢測、戰(zhàn)機與三種敵機的碰撞檢測、全屏炸彈使用后毀滅當(dāng)前幀中所有敵機、更新全屏炸彈的數(shù)量、內(nèi)存的管理、更新積分等等。 道具層類:繼承 CCLayer 類,主要負責(zé)雙排道具和全屏炸彈道具的初 始化、定義道具出現(xiàn)的概率及位置、雙排子彈的移除、道具使用后的效果、戰(zhàn)機沒有獲得道具對道具進行回收。 游戲簡介類:繼承 CCLayer 類,主要負責(zé)顯示游戲幫助及游戲背景。 闖關(guān)歡迎層類:繼承 CCLayer 類,主要負責(zé)闖關(guān)模式的換場動畫。 中國礦業(yè)大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 第 19 頁 闖關(guān)游戲結(jié)束層類:繼承 CCLayer 類,主要負責(zé)闖關(guān)模式游戲結(jié)束時的換場動畫。 圖 飛機大戰(zhàn)類圖 如圖 所示,由于類比較多空間有限 , 所以就不一一列舉類中的參數(shù)及函數(shù)。如表 、表 所示。 ( 1) 游戲?qū)宇?GameLayer,如表 、表 所示。 主要 負責(zé)游戲暫停、更新分?jǐn)?shù)的操作。 游戲結(jié)束層類:繼承 CCLayer 類,主要負責(zé)無盡模式游戲結(jié)束時,對積分的統(tǒng)計、判斷是否加入歷史最高分。 子彈層類:繼承 CCLayer 類,主要負責(zé)加載戰(zhàn)機子彈紋理、啟動戰(zhàn)機子彈的射擊、停止戰(zhàn)機子彈射擊、諸如速度和起始位置的戰(zhàn)機屬性的設(shè)置、子彈的移除操作。 歡迎場景類:繼承 CCScene 類,游戲引擎思想中的必備部分,主要用于加載歡迎層類。 戰(zhàn)機層類:繼承 CCLayer 類,玩家選擇無盡模式或闖關(guān)模式 后加入 到 游戲場景中。此外,游戲?qū)宇愂钦麄€游戲的核心。在這些類中最復(fù)雜最主要的是游戲?qū)宇?,因為它?lián)系了戰(zhàn)機層、子彈層、雙排子彈層、控制層、道具層、敵機層等。具體調(diào)度如圖 所示 。Cocos2dx 最主要有 4 個概念,分別是 Direct(導(dǎo)演)、 Scene(場景)、 Layer(層)、 Sprite(精靈)。 分?jǐn)?shù)存儲的優(yōu)化 由于游戲所需存儲的數(shù)據(jù)并不多,所以我們 不用諸如 sql server、 MySQL 之類的數(shù)據(jù)庫,因為它們會為我們游戲的開發(fā)帶來不必要的 消耗 。對于我們這款飛 行射擊類游戲,需要使用到的紋理比較多,花費在渲染上的時間將會比較多,所以會拖慢游戲整體的速度 從而 影響游戲的效果。比如 本身是 400*300,載入內(nèi)存后它就會變成 512*512 的紋理。 子彈的優(yōu)化 在游戲每一幀中會出現(xiàn)上百顆子彈,若使用普通渲染機制,子彈的紋理將會被渲染上百次,大大影響了游戲的效果。由于渲染在屏幕上的每個紋理,系統(tǒng)都會將其用一個能容納下該紋理的最小矩形包圍起來,所以碰撞檢測的實質(zhì)就是檢測兩個矩形是否有交集。 ( 4) 累加當(dāng)前幀中所有敵機相應(yīng)的分?jǐn)?shù),當(dāng)前幀中所有的戰(zhàn)機執(zhí)行爆炸效果,敵機數(shù)組中移除畫面中所有的敵機,最后更新積分。雙排子彈的算法與普通子彈類似,區(qū)別之處在于子彈發(fā)射的位置,普通子彈在戰(zhàn)機的中間,而雙排子彈的發(fā)射位置在飛機的兩個翅膀上。 ( 2) 在每輪游戲結(jié)束時,比較當(dāng)前用 戶得分和歷史最高分。 ( 2) 敵機出現(xiàn)的位置在屏幕的頂部,具體的橫坐標(biāo)用隨機函數(shù)生成 。 ( 6) 對擊中敵機的子彈進行回收 。 ( 3) 對存儲在緩存中的子彈圖片進行渲染,并加到當(dāng)前場景中 。 ( 3) 執(zhí)行戰(zhàn)機爆炸幀動畫,移除場景中的戰(zhàn)機 ,最后跳轉(zhuǎn)到游戲結(jié)束場景 。 ( 4) 判斷此時坐標(biāo)是否超過屏幕,若超過則把戰(zhàn)機移動到屏幕的最大邊緣處,若沒超過執(zhí)行下一步 。 ( 4) 判斷戰(zhàn)機是否與敵機一、二、三相撞,若相撞則執(zhí)行玩家戰(zhàn)機模塊 。為了吸引更多的群體,軟件必須跨平臺、游戲界面必須好看、玩法必須不止一種、需要有積分系統(tǒng)、敵機種類要多、操作簡單上手容易、玩家戰(zhàn)機要能升級、會出現(xiàn)讓玩家感到眼前一亮的道具系統(tǒng)、音樂與音效必須達到逼真的效果。但由于此過程一般為迭代過程,在設(shè)計之后有可能再回到分析,又由于篇幅有限,所以在本文中會以最簡潔的方式描述(若在系統(tǒng)設(shè)計中回到了分析,本文將不再過多描述,直接描述出 主要成果)。 中國礦業(yè)大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 第 13 頁 設(shè)置界面 設(shè)置界面包含七個元素,分別是背景、游戲名字、背景音樂標(biāo)簽、音效標(biāo)簽、返回按鈕、背景音樂開關(guān)按鈕、音效開關(guān)按鈕。 無盡模式界面 無盡模式界面包含六個元素,分別是背景、玩家戰(zhàn)機、子彈、敵方飛機、分?jǐn)?shù)標(biāo)簽、積分。 ( 4) CPU 頻率大于等于 800MHZ。 ( 4) 其它工具: Office 20 Python、 VMware、 Photoshop cs TexturePackerGUI。倘若選擇的是闖關(guān)模式,系統(tǒng)還會加載進與 BOSS 相關(guān)的資源以及與闖關(guān)模式相關(guān)的規(guī)則。 在游戲的每一幀中,系統(tǒng)都會自動按順序判斷子彈是否擊中敵機、玩家戰(zhàn)機是否與敵機發(fā)生碰撞。 中國礦業(yè)大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 第 11 頁 。 ,若獲得,則判斷玩家是否使用全屏炸彈。然后對玩家戰(zhàn)機、被碰撞到的敵機以及相應(yīng)子彈進行回收,之后跳轉(zhuǎn)到游戲結(jié)束場景。 ,若發(fā)生碰撞,敵機一生命值減一,若減一后生命值減為 0,敵機一執(zhí)行爆炸幀動畫,玩家戰(zhàn)機增加相應(yīng)分?jǐn)?shù) ,之后敵機與對應(yīng)的子彈被回收 。 。 BOSS 子彈層 。 。 圖 飛機大戰(zhàn)用例圖 其中有幾個用例比較復(fù)雜,這里對最復(fù)雜的闖關(guān)模式初始化游戲與執(zhí)行游戲兩個用例進行用例描述。對于第一次接觸此游戲的玩家,可以通過查看游戲幫助學(xué)習(xí)游戲玩法。其中模式選擇分為無盡模式和闖關(guān)模式、分?jǐn)?shù)存儲分為分?jǐn)?shù)讀取與分?jǐn)?shù)更新、游戲幫助分為玩法說明與開發(fā)說明、音樂控制分為打開音樂與關(guān)閉音樂、道具分為雙排子彈道具與全屏炸彈道具、敵機管理分為增加敵機與敵機回收。系統(tǒng)默認打開背景音樂和音效。存儲的形式為在本地保存一個 xml 的文本。 表 無盡模式中積分與難度表 積分 難度 無盡 模式 0 —20 萬 容易 20 萬 —60 萬 中等 大于 100 萬 困難 表 闖關(guān)模式中關(guān)卡與難度對應(yīng)表 關(guān)卡 難度 闖關(guān) 模式 第一關(guān) 容易 第二關(guān) 中等 +BOSS1 第三關(guān) 困難 +BOSS2 ( 8) 道具 道具分為兩種,一種是雙排子彈,玩家戰(zhàn)機獲得該道具后,會在一段時間內(nèi),戰(zhàn)機子彈由一列變?yōu)閮闪?,超過相應(yīng)時間,雙排子彈消失,戰(zhàn)機變回單排子彈。 無盡模式初始難度為容易。 中國礦業(yè)大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 第 7 頁 圖 背景移動原理圖 ( 5) 無盡模式 即最經(jīng)典的玩法,玩家戰(zhàn)機攻擊敵機,直到戰(zhàn)死。 如圖 所示 。當(dāng)手指觸摸在飛機有效范圍外時,觸摸事件將不會被激活,飛機 也 不會隨著手指 的移動而移動。當(dāng)玩家積分達到 每一關(guān)對應(yīng) 分?jǐn)?shù)時,系統(tǒng) 會 自動 跳轉(zhuǎn)到 下一關(guān)。玩家戰(zhàn)機被敵機碰撞上則游戲結(jié)束,系統(tǒng)會自動計算玩家所得積分,若超過歷史最高分,則更新歷史最高分。 中國礦業(yè)大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 第 6 頁 3 系統(tǒng)分析 系統(tǒng)基本功能 ( 1) 基本規(guī)則 在浩瀚無際的天空中,背景會以玩家的視角 向后移動,產(chǎn)生玩家戰(zhàn)機向前移動的視覺效果。 法律可行性 該軟件是自主 研發(fā) 設(shè)計 的并且內(nèi)容積極健康 , 不會造成 侵權(quán), 不會違反相關(guān)法律。 綜上,用經(jīng)濟的眼光看待此游戲的開發(fā),是持完全贊同的態(tài)度的。 中國礦業(yè)大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 第 5 頁 經(jīng)濟可行性分析 ( 1) Cocos2dx 為開源游戲引擎,所以不用為此花費資金。 對于 Cocos2dx,由于文檔為英文, 閱讀起來會有一定難度, 但開發(fā)人員也具有一定的英文水平,花費一定的時間,也能完成預(yù)計的任務(wù)。如果闖關(guān)成功,游戲會跳轉(zhuǎn)到恭喜玩家闖關(guān) 成功 的界面,反之跳轉(zhuǎn)到鼓勵玩家再接再厲的界面。第一個關(guān)卡,和無盡模式大體一致,當(dāng)積分達到一定分?jǐn)?shù)后,游戲自動進入第二個關(guān)卡。在無盡模式中,有積分系統(tǒng),當(dāng)達 到一定分?jǐn)?shù)后,系統(tǒng)會在后臺自動增加游戲的難度以及增加敵機的飛行速度。 游戲本身首先應(yīng)該具有飛行射擊類游戲最基本的功能,如發(fā)子彈、碰撞檢測、敵機等幾個要素。這部分 主要總結(jié)開發(fā)過程中 遇到的問題、軟件存在 的不足 之處 、 軟件的創(chuàng)新之處 以及總結(jié)出的經(jīng)驗。進入 編碼 實現(xiàn) 階段,這部分主要講述怎樣 用代碼實現(xiàn)系統(tǒng)設(shè)計階段提出的各個功能模塊 。這一部分為各個模塊 的編碼做 好 充分的準(zhǔn)備,對系統(tǒng)的各個功能模塊都會進行詳細的設(shè)計。 第三 章 系統(tǒng) 分析 。 第一章 緒論。 亮點 任何手機游戲項目的開展,定位是其實際操作的第一步。 Microsoft Visual Studio 2020 包括了如 IDE(集成開發(fā)環(huán)境)、 UML 工具、代碼管控工具 這樣的, 在整個軟件生命周期中所需 要 的大部分工具 [8]。 中國礦業(yè)大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 第 3 頁 ( 1) Cocos2dx 是 MIT 許可證下發(fā)布的開源 跨平臺 游戲引擎,游戲開發(fā)快速、簡易、功能強大。 ( 6) 本游戲移植需要用到 Eclipse、 Xcode 等開發(fā)平臺,以及 python 語言,所以也得快速熟悉 并能 使用這些平臺和相關(guān)語言。 ( 3) 游戲引擎的地圖系 統(tǒng)牽涉到一些和專業(yè)無關(guān)的美術(shù)知識,所以需要對美術(shù)知識進行快速而系統(tǒng)的學(xué)習(xí)。 本次系統(tǒng)的開發(fā),主要面臨以下幾個問題: ( 1) 學(xué)習(xí) Cocos2dx 游戲引擎 ,并在短時間內(nèi)能夠使用 Cocos2dx 的引擎框架。 游戲類型繁多,但 飛行射擊類游戲可以說是 歷史最悠久 、最深入人心的游戲 類型之一[4]。 圖 IDC: 2020 年第四季度全球智能機出貨量 然而,由于各家操作系統(tǒng)不同、硬件配置不同、開發(fā)語言不同,導(dǎo)致 游戲開發(fā)者只能針對一種平臺進行手機游戲的開發(fā)。 很多用戶小時 候都有過玩雷電的經(jīng)歷,這樣的經(jīng)歷會驅(qū)使
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1