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

正文內(nèi)容

基于cocos2d-x的跨平臺游戲的設計與實現(xiàn)畢業(yè)論文-資料下載頁

2025-06-27 17:12本頁面
  

【正文】 此幀中碰撞死亡的敵機,必須是死亡{CCSprite* enemy3 = (CCSprite*)et。thisenemyLayerbomb(enemy3)。//執(zhí)行爆炸}enemyToDeleterelease()。//releaseCCARRAY_FOREACH(bulletsToDelete,bt)//遍歷所有此幀中碰撞的子彈{CCSprite* bullet = (CCSprite*)bt。thisheroLayergetBullets()removeBullet(bullet)。//執(zhí)行移除}bulletsToDeleterelease()。//release}18bullet是加到 ccspriteBatchNode 上的,ccspriteBatchNode 是加到 BulletLayer 上面的,ccspriteBatchNode 和 bulletLayer都是鋪滿屏幕的。所以子彈調(diào)用 boundingbox 獲得的矩形是以屏幕左下角為原點的。敵機的原理也是如此。hero 是直接加到 herolayer 上的,父節(jié)點同樣是鋪滿屏幕的,所以他們的父節(jié)點的左下角的坐標都一樣的,這就是通過 boundingbox 檢測他們是否碰撞的前提。有些紋理周圍有比較大的空白地方,這就會造成兩個節(jié)點看起來還沒有接觸就會發(fā)生碰撞,這就需要對碰撞進行更精確的判斷,可以通過什么像素判斷法之類的。我這里采取最簡單的處理方法,就是通過節(jié)點的 boundingbox獲取到一個 rect,然后對這個 rect加工一下,這樣子可以獲取節(jié)點 boundingbox 里面的某一部分來作為碰撞的檢測部分。CCRect rectHero = thisheroLayergetHero()boundingBox()。float x = + * 。float y = + * 。float width = * 。float height = * 。CCRect rect_HeroForCrash = CCRectMake(x, y, width, height)。 觸摸事件virtual bool ccTouchBegan (cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)。virtual void ccTouchMoved (cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)。virtual void ccTouchEnded (cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)。觸摸事件; 游戲結束場景游戲最后結束需要保存分數(shù)并退出,退出界面如圖 :19圖 //退出按鈕CCMenuItemImage *pExitItem=CCMenuItemImage::create(,this,menu_selector(CWXBeginSceneLayer::menuExitCallback))。CC_BREAK_IF(!pExitItem)。pExitItemsetPosition(ccp(_SCREEN_WIDTH_/2,_SCREEN_HEIGHT_/2))。20第 6章 學習心得學習 cocos以后對于內(nèi)存有了一些自己的見解,在 C++中,在堆上分配動態(tài)內(nèi)存和釋放動態(tài)內(nèi)存的方法是 new 和 delete,在申請內(nèi)存之后,如果不使用了就需要 delete掉,不然就會造成內(nèi)存的溢出。附錄:new 的動態(tài)內(nèi)存,只要在程序結束之前 delete就 行,這樣在程序結束之前就可以把申請到的堆內(nèi)存返還給系統(tǒng),但是在實際的編程過程中,一般為了及時釋放不用的空間提高內(nèi)存的使用率而在不需要的位置調(diào)用 delete 來釋放,以免造成內(nèi)存占用過高和程序結束之前忘掉,從而造成的內(nèi)存溢出。在 cosos2dx中,對于引擎本身而言,自帶了 autorelease 方法,可以將對象的指針加入 push到自動釋放池中。在每一幀結束的時候調(diào)用 pop對池中的對象指針執(zhí)行 退出自動釋放池,并且根據(jù)引用計數(shù)來實現(xiàn)自動釋放。cocos2dx官方推薦的生成對象方式 是使用 CREATE_FUNC宏,宏中已經(jīng)有一個autorelease()調(diào)用,所以只需要直接 className *pObject = className::create(),調(diào)用就行,如果需要使用內(nèi)存自動管理的功能,需要直接或間接繼承 CCObject類就行。當你加入以 后,基本不需要對該對象的指針進行釋放之類的操作,當然是沒進行pObjectretain()(需要再執(zhí)行 pObjectrelease())操作。很方便的管理了需要在堆上分配的內(nèi)存。推薦使用 autorelease()來管理對內(nèi)存的釋放。其次,對于分配的內(nèi)存有當前類數(shù)據(jù)成員和局部作用域中的局部對象的指針,類數(shù)據(jù)成員直接 autorelease(),在類的生命周期結束時,類的析構函數(shù) 中不需要再次釋放了,因為引擎自動幫你釋放了,對于局部的對象的指針,調(diào)用 autorelease()后也不需要再次去釋放了,都交給引擎去釋放吧。最后,對于手動操作而言 new操作和 delete操作成對出現(xiàn)就行,類數(shù)據(jù)成員則在析構函數(shù)中 delete,以免提前釋放了,造成內(nèi)存操作錯誤。再者如果執(zhí)行 className *pObject = new className()。 pObjectautorelease()亦可使用引擎的內(nèi)存管理功能,前提是 className直接或間接繼承自 CCObject類。21第 7章 項目總結與展望在這次畢業(yè)設計的制作過程中,我強烈感覺到自己知識的貧乏,和對以往學習過的知識掌握不夠。從最初的茫然,到慢慢的進入狀態(tài),再到對思路逐漸的清晰,整個過程難以用語言來表達。緊張而又充實的畢業(yè)設計終于落下了帷幕?;叵脒@段日子的經(jīng)歷和感受,我感慨萬千,在這次畢業(yè)設計的過程中,我擁有了無數(shù)難忘的回憶和收獲。當選題定下來的時候,我當時便立刻著手資料的收集工作中,將搜索到的資料全部儲存起來,盡量使我的資料完整、精確、數(shù)量多,這有利于畢業(yè)設計的開發(fā)。然后我將收集到的資料仔細整理分類。資料已經(jīng)查找完畢了,我開始著手開發(fā)。在研究的工作過程中遇到困難我就請教老師,并和同學互相交流討論,還請教了在職的游戲和軟件開發(fā)的人員。在大家的幫助下,困難一個一個解決掉,項目也慢慢成型。經(jīng)過多次測試和仔細修改,游戲終于完成了。整個過程中,從需求分析到設計、編碼、測試,我都力求規(guī)范化和文檔化,努力讓自己以前學的知識運用到本游戲的開發(fā)中,盡量保證整個項目的開發(fā)進度和質(zhì)量,順利完成這次的畢業(yè)設計,為自己的大學生涯畫上一個完美的句號。在這個過程中,我們遇到了很多困難,例如對數(shù)據(jù)結構的不熟悉,分數(shù)增加,音效、圖片資源的添加,編寫的錯誤等等。但是經(jīng)過我的努力,游戲最終完成了。在制作項目的過程中,我感覺我的編程能力,溝通協(xié)調(diào)能力各方面的能力都有了很大的提高。不過,在系統(tǒng)開發(fā)過程中,好多知識都是隨學隨用,就增加了很多不必要的麻煩。但最終我還是把他吃透,造出現(xiàn)在的畢業(yè)設計。我會繼續(xù)努力學習,更加努力嚴格要求自己。 22參考文獻[1] 李華明 《iOS 游戲編程之從零開始 Cocos2dx 與 cocos2d 引擎游戲開發(fā)》清華出版社[2] 滿碩泉《 Cocos2Dx 權威指南 》機械工業(yè)出版社[3] 劉劍卓《 Cocos2DX 游戲開發(fā)技術精解》人民郵電出版社[4] 仙外仙. [5] 紅孩兒 [6]鐘迪龍 《 Cocos2dx 游戲開發(fā)之旅》 電子工業(yè)出版社
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1