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

正文內(nèi)容

畢業(yè)論文-基于cocos2d-x游戲引擎的小雞對(duì)抗游戲開發(fā)-文庫(kù)吧資料

2025-01-18 11:57本頁(yè)面
  

【正文】 nit()。 湖北科技學(xué)院本科畢業(yè)設(shè)計(jì) (論文 ):基于 Cocos2dx 的小雞對(duì)抗游戲開發(fā) 16 thisaddChild(rMenu, 1)。 CCMenu* rMenu = CCMenu::create(rItem, NULL)。 CCMenuItemImage *rItem = CCMenuItemImage::create( ,this, menu_selector(GameStart::get_restart))。 b_SpritesetPosition(ccp(WIDTH/2, HEIGHT/2))。 ? 菜單場(chǎng)景的效果圖如圖 所示: 圖 菜單場(chǎng)景效果圖 按鈕回調(diào) 游戲介紹的回調(diào)函數(shù),首先將此層中所有的孩子節(jié)點(diǎn)刪除掉,再重新構(gòu)造此層 的孩子節(jié)點(diǎn),主要包括了一個(gè)背景精靈一個(gè)一個(gè)返回上一層的按鈕雞菜單,實(shí)現(xiàn)代碼如下: removeAllChildren()。 rMenusetPosition(CCPointZero)。 rItemsetPosition(ccp(50 , 50))。 sItemsetPosition(ccp(WIDTH / 2 , HEIGHT 40))。 pCloseItemsetPosition(ccp(WIDTH 50, 50))。 thisaddChild(b_Sprite, 0)。 初始化的界面 背景精靈的創(chuàng)建,所使用的是一張名為 , 實(shí)現(xiàn)代碼如下: CCSprite *b_Sprite = CCSprite::create()。 layerrelease()。 layerinit()。實(shí)現(xiàn)代碼如下: CCScene *scene = CCScene::create()。 新關(guān)卡開始 根據(jù)不同的關(guān)卡在不同的位置產(chǎn)生不同數(shù)量的小雞 產(chǎn)生道具 每隔一定的時(shí)間改變小雞的位置(小雞不允許在障礙物上行走) 移動(dòng)道具時(shí),實(shí)時(shí)的控制道具的移動(dòng)位置 每隔一定的時(shí)間同種已用的道具再次出現(xiàn) 其流程圖如圖 : 玩家捕雞流程如下: 玩家在相應(yīng)的道具上點(diǎn)擊,拖動(dòng)道具到地圖上 若道具是火,則在以拖動(dòng)到的位置為中心的九宮格的地方進(jìn)行爆破,爆破的地方 所有的小雞和激動(dòng)都會(huì)死亡,小雞死亡的同時(shí),此道具也會(huì)消失 若道具是骷髏頭,則在道具拖動(dòng)的位置上的小雞或是小雞移動(dòng)到此處的小雞將會(huì)死亡,小雞死亡的同時(shí),此道具也會(huì)消失 若道具是藥劑,則在道具拖動(dòng)的位置上的感染上病毒的小雞將會(huì)痊愈 當(dāng)總共小雞和雞蛋的數(shù)量達(dá)到了 20 只或是感染上病菌的小雞和雞蛋的數(shù)量達(dá)到了 15只,游戲?qū)?huì)結(jié)束,顯示為闖關(guān)失敗 當(dāng)?shù)貓D上的小雞和雞蛋全為健康的時(shí)候,游戲結(jié)束,顯示為過關(guān),同時(shí)下一關(guān)卡將被開啟 其流程圖如圖 : 湖北科技學(xué)院本科畢業(yè)設(shè)計(jì) (論文 ):基于 Cocos2dx 的小雞對(duì)抗游戲開發(fā) 12 進(jìn) 入 關(guān) 卡 選 擇 場(chǎng) 景進(jìn) 入 綠 色 平 原 游 戲 場(chǎng) 景關(guān) 卡 選 擇點(diǎn) 擊 綠 色 平 原是 否 通 過 綠 色 平 原 關(guān) 卡點(diǎn) 擊 楓 葉 樹 林進(jìn) 入 楓 葉 樹 林 游 戲 場(chǎng) 景是進(jìn) 入 楓 葉 樹 林 關(guān) 卡否是進(jìn) 入 寒 冬 之 嶺 關(guān) 卡是否點(diǎn) 擊 寒 冬 之 嶺是 否 通 過 楓 葉 樹 林 關(guān) 卡是進(jìn) 入 楓 葉 樹 林 游 戲 場(chǎng) 景是進(jìn) 入 黃 金 之 路 關(guān) 卡否是 否 通 過 寒 冬 之 嶺 關(guān) 卡進(jìn) 入 楓 葉 樹 林 游 戲 場(chǎng) 景否否是否 圖 關(guān)卡選擇流程圖 湖北科技學(xué)院本科畢業(yè)設(shè)計(jì) (論文 ):基于 Cocos2dx 的小雞對(duì)抗游戲開發(fā) 13 新 關(guān) 卡 開 始產(chǎn) 出 小 雞小 雞 在 此 方 向 上 移 動(dòng)此 方 向 上 沒 有 障 礙 物是產(chǎn) 出 道 具此 道 具 是 否 剛 用小 雞 不 能 在 此 方 向 上 移 動(dòng)隔 段 時(shí) 間 , 再 次 出 現(xiàn) 此 道具否 圖 定時(shí)器控制小雞及道具圖 點(diǎn) 擊 道 具拖 動(dòng) 道 具 到 地 圖 上道 具 的 類 型爆 炸 消 失 治 愈病 雞 和 病 雞 蛋 的 數(shù) 量 為 0過 關(guān)總 雞 的 數(shù) 量 = 2 0 或 是 病 雞 = 1 5 失 敗骷 髏 頭火 藥 劑是否是 圖 玩家捕雞流程圖 4 游戲詳細(xì)設(shè)計(jì)和實(shí)現(xiàn) 菜單場(chǎng)景的實(shí)現(xiàn) 湖北科技學(xué)院本科畢業(yè)設(shè)計(jì) (論文 ):基于 Cocos2dx 的小雞對(duì)抗游戲開發(fā) 14 菜單場(chǎng)景的主要作用是供玩家的選擇,菜單場(chǎng)景中提供了游戲介紹、退出游戲、進(jìn)入游戲關(guān)卡三個(gè)菜單項(xiàng)。其流程如圖 : 菜單場(chǎng)景中主要是 menu的選擇。菜單場(chǎng)景包括有背景精靈、進(jìn)入關(guān)卡菜單項(xiàng)、游戲介紹菜單項(xiàng)、結(jié)束游戲菜單項(xiàng);關(guān)卡選擇場(chǎng)景包括返回菜單項(xiàng)和滾動(dòng)圖層,兒滾動(dòng)圖層有由背景精靈、揮動(dòng)序列精靈和進(jìn)入游戲選項(xiàng)卡構(gòu)成;游戲場(chǎng)景則有背景精靈、小雞精靈、返回菜單項(xiàng)、重新開始菜單項(xiàng)構(gòu)成。系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)及其運(yùn)作模式都體現(xiàn) 了這些原理和方法的應(yīng)用。在設(shè)計(jì)過程中,我們遵循了軟件工程的原理和方法 。 關(guān)卡數(shù)組 每個(gè)關(guān)卡場(chǎng)景中,由于是有障礙物的,小雞們是不可以穿過障礙物,因此為每個(gè)關(guān) 卡場(chǎng)景都定義了一個(gè)數(shù)組,此數(shù)組用來記錄每個(gè)關(guān)卡中是否有障礙物,每個(gè)關(guān)卡的地圖都是由 12*16 個(gè)小格子組成,每個(gè)小格子由數(shù)組中的相應(yīng)的元素構(gòu)成,元素的值為 1或是 0, 1則表示此小格上有障礙物,小雞們不能在此處行走,只能繞道而行, 0代表此處為空閑地帶,小雞們可以自由的行走。 游戲關(guān)卡 關(guān)卡場(chǎng)景 一共有 4 個(gè)關(guān)卡場(chǎng)景,分別是:綠色平原、楓葉樹林、寒冬之嶺和黃金之路,關(guān)卡的難度依次上升,主要體現(xiàn)在病雞的數(shù)量上,病雞的數(shù)量愈多,難度越大。 捕捉成功率 這是根據(jù)道具的功能以及拖拽道具到一定位置上病雞的數(shù)量來決定的。 雞類介紹 總共有四種顏色的小雞, 分別為紅色,黃色,藍(lán)色,紫色,其中紅色和黃色的小雞為健康的,藍(lán)色和紫色的小雞為感染 H7N9病毒的,而紅色和紫色的小雞為母雞,黃色和藍(lán)色的小雞為公雞。 中介者模式的實(shí)現(xiàn)可以采用單例模式,同時(shí),在處理同事對(duì)象之間的交互的時(shí)候,可以采用觀察者模式 。 關(guān)于中介者的實(shí)現(xiàn),可以把 AppDelegate 類設(shè) 計(jì)成中介者對(duì)象,也可以自定義中介者對(duì)象,比如 GameManager 類。而游戲天生又是需要經(jīng)常更新、修改 bug 和升級(jí)的,這就導(dǎo)致了游戲程序的維護(hù)和擴(kuò)展非常地難。中介者使得各對(duì)象不需要顯式地相互引用,從而使其松散耦合,而且可以獨(dú)立地改變它們之間的交互 。但是,如果有遞 歸 [19]或者樹形結(jié)構(gòu) [20]的對(duì)象關(guān)系,都可以考慮使用組合模式 。組合模式使得用戶對(duì)單個(gè)對(duì)象和使用具有一致性 。 觀察者模式是實(shí)現(xiàn) MVC模式 [18]的重要組成部分,一個(gè) model可以對(duì)應(yīng)多個(gè) views, model就是目標(biāo)對(duì)象,而 view則是觀察者,當(dāng) model改變的時(shí)候,要通知所有的 view也相應(yīng)的改變 。另一個(gè)層是 HudLayer,它包含了游戲中顯示分?jǐn)?shù)、生命值等信息。 觀察者 模式 觀察者模式 指的是 :對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新 。由于 c++的異常機(jī)制 [17]并不是那么完善,所以,也一直為人們所詬病, cocos2dx里面幾乎沒有使用 c++的異常處理機(jī)制。 3)盡可能讓函數(shù)返回一些東西,這樣如果當(dāng)函數(shù)運(yùn)行出現(xiàn)問題時(shí),可以根據(jù)返回值做一些處理。 2)不要直接使用文字常量,比如 “” 這種常量。因?yàn)楹芏鄷r(shí)候,我們編寫代碼都是隱藏了一系列的假定的,只是你自己沒有感覺到,有時(shí)候,這些假定沒有關(guān)系,出了 bug 也容易找出來。 我們一般可以采用以下手段來進(jìn)行防御式編程 : 1)檢查每個(gè)子程序 的入口參數(shù),記住 “ 垃圾進(jìn)、垃圾出 ” 這個(gè)隱喻。 湖北科技學(xué)院本科畢業(yè)設(shè)計(jì) (論文 ):基于 Cocos2dx 的小雞對(duì)抗游戲開發(fā) 7 防御式編程 模式 防御式編程模式 指的是 :子程序應(yīng)該不因傳入錯(cuò)誤數(shù)據(jù)而被破壞,哪怕是由其他子程序產(chǎn)生的錯(cuò)誤數(shù)據(jù)。當(dāng)外部使用此子系統(tǒng)時(shí),操作的類過多,理解起來特別復(fù)雜時(shí),這時(shí)候就可以考慮引入一個(gè) Fa231。不過,模式不是說學(xué)習(xí)了一定要馬上就用到,那樣會(huì)導(dǎo)致過度設(shè)計(jì)。它的本質(zhì)是:封裝交互、簡(jiǎn)化調(diào)用 。 外觀 模式 [16] 外觀模式 指的是 :為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,它定義了一個(gè)高層接口,這個(gè)接口使得子系統(tǒng)更加容易使用。相應(yīng)的,也可以為 Action創(chuàng)建相應(yīng)的類。這里,我們可以為之創(chuàng)建一個(gè) CCAnimateCache類,專門用來管理這些動(dòng)畫動(dòng)作實(shí)例。 在 cocos2dx游戲開發(fā)中,經(jīng)常需要使用 CCAnimate動(dòng)作來播放動(dòng)畫,這些動(dòng)作的創(chuàng)建運(yùn)行時(shí)開銷是比較大的,一般采用的方式都是在 node的 init 方法中創(chuàng)建好,然后 retain。該模式在游戲開發(fā)中比較常見,很多需要提升游戲運(yùn)行性能 的場(chǎng)合都運(yùn)用了此模式。 管理者 模式 管理者模式 指的是 :管理者類( cache類)可以簡(jiǎn)化一些可以重用的資源(比如字體、紋理 [15]、精靈幀等)的創(chuàng)建和管理工作。 在游戲開發(fā)中使用此模式的方法為: 在使用 cocos2dx的時(shí)候,如果你繼承 CCSprite實(shí)現(xiàn)自定義的精靈,你也需要按照 “ 二段構(gòu)建 ” 的方式,為你的類提供一個(gè)靜態(tài)工廠方法,同時(shí)編寫相應(yīng)的初始化方法。注: IO操作對(duì)游戲性能影響非常大,要極力避免 。它以犧牲一定的內(nèi)存壓力為代價(jià),帶來的是游戲性能的提升。此方法會(huì)將所有引用計(jì)數(shù)為 1 的紋理對(duì)象全部釋放掉。如果使用此紋理對(duì)象創(chuàng)建一個(gè)精靈,那么此紋理對(duì)象引用會(huì)加 ,則相應(yīng)的引用計(jì)數(shù)減 用計(jì)數(shù)變?yōu)?0的時(shí)候,紋理所占 用的內(nèi)存自然就會(huì)被釋放掉。此類主要負(fù)責(zé)加載游戲當(dāng)中所需要的紋理圖片資源,這些資源加載好以后,就可以一直保留在內(nèi)存里面,當(dāng)下次再需要使用此紋理的時(shí)候,直接返回相應(yīng)的紋理對(duì)象引用就可以了,無需再重復(fù)加載。為了保證 CCDirector類只存在一個(gè) 實(shí)例對(duì)象,就必須使用單例模式。為什么湖北科技學(xué)院本科畢業(yè)設(shè)計(jì) (論文 ):基于 Cocos2dx 的小雞對(duì)抗游戲開發(fā) 6 要把此類設(shè)計(jì)成單例對(duì)象呢?因?yàn)椋粋€(gè)游戲只需要有一個(gè)游戲窗口就夠了,所以,只需要初始化一次 OpenGL渲染窗口。 這里只介紹 CCDirector與 CCTextureCache單例。但對(duì)于斷點(diǎn)續(xù)傳等并沒有封裝 UI Cocos2dx 提供了幾種簡(jiǎn)單的控件 ,比如說是 CCMenu, CCLabelTTF, CCTableView,CCScrollView, CCImage還有 textInput。 網(wǎng)絡(luò) Cocos2dx 提供了對(duì) curl 的封裝。期間每個(gè)節(jié)點(diǎn)可以設(shè)置是否響應(yīng)以及是否繼續(xù)往下傳遞的屬性 ,完全丟棄了 cocos的那一套事件分發(fā)機(jī)制。但是他并沒有對(duì)場(chǎng)景進(jìn)行樹的管 理。他 的 事件管理是通過存儲(chǔ)每一個(gè) object以及他接收事件的優(yōu)先級(jí)。讓 sprite run 就可以了 。所有的動(dòng)畫都可以走 action接口。整體來說,是 sprite run action。并且也提供了異步加載動(dòng)畫資源的方法 , 所以對(duì)于渲染這塊,我們盡量用批次 , 但是我們要記得 釋放內(nèi)存。 對(duì)于游戲數(shù)據(jù)的管理, cocos2dx采用 CCTextureCache 這個(gè)單例類進(jìn)行管理。所以在游戲里,我們對(duì)資源進(jìn)行了分組,然后分別用textPacker拼成一張圖片,然后統(tǒng)一采用批次渲染。但是這些并不會(huì)影響游戲的渲染速度。 湖北科技學(xué)院本科畢業(yè)設(shè)計(jì) (論文 ):基于 Cocos2dx 的小雞對(duì)抗游戲開發(fā) 5 2 相關(guān)技術(shù)支持 Cocos2dx 框架層 整體來說, cocos2dX 提供的一個(gè)簡(jiǎn)便的框架,包含了渲染 [8],動(dòng)畫 [9],事件分發(fā) [10],網(wǎng)絡(luò) [11]還有 UI,物理引擎 [12]等幾大模塊 渲染 Cocos2dx的渲染數(shù)據(jù)跟 精靈 進(jìn)行了綁定,然后 對(duì)于 openGl也是直接進(jìn)行了調(diào)用,而不是采用策略或者插件進(jìn)行調(diào)用。 近期,由于 H7N9[7]的盛行,引發(fā)了我想制作出與此有關(guān)的游戲,這樣不僅可以提高人們的警覺性與關(guān)注性,避免病菌肆意的傳播,還具有一定的娛樂性,使玩家在娛樂的過程中對(duì) H7N9的關(guān)注。 其除跨平臺(tái)外,相對(duì)其它的移動(dòng)游戲引擎還有以下特點(diǎn) : 易用性 , 易于
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1