cocos2dx 3 0 飛機大戰

2021-09-08 22:28:03 字數 1437 閱讀 5952

閒話不說。先講一下設計。大體上一共分為3個場景。場景以下是layer

遊戲主場景:gamescene  --> gamelayer  遊戲元素加入 和 碰撞檢測

結束場景:gameoverscene -->gameoverlayer

然後是遊戲的元素,在gamelayer加入,乙個分為4個layer:

planelayer:主角層 

enemylayer:敵機層 ,分為3種,每種敵機生命值不一樣

ufolayer: 道具層,bullet和加bomb

bulletlayer:子彈層 bullet 和mutibullet

然後簡單講一下碰撞檢測的實現:

if(bullet->boundingbox().intersectsrect(enemy1->getboundingbox()))

}

rect enemy::getboundingbox()
還有再來就是子彈層的處理:子彈發射須要步驟:1.加入子彈,2.移動子彈。3移除子彈

因為須要源源不斷的發射子彈,所以將子彈加入到乙個spritebatchnode節點中。然後在這個spritebatchnode節點對子彈進行加入,移動,和移除,這樣子做的優點是僅僅須要渲染一次。減少記憶體消耗

auto texture = texturecache::getinstance()->textureforkey("shoot.png");

bulletbatchnode = spritebatchnode::createwithtexture(texture);

this->addchild(bulletbatchnode);

然後用texturepacker打包。恩。大概就像這樣子

最後再講一下編譯成androidproject的步驟和細節:

1.先在android.mk檔案裡加入全部必須的cpp

glview->setdesignresolutionsize(480,800,resolutionpolicy::show_all);
3.在proj.android目錄以下改動androidmanifest.xml 豎屏屬性:

android:screenorientation="portrait"
4.cmd到project資料夾。命令:cocos compile -p android -j 4

源**:飛機大戰

cocos2d x 3 0 編譯問題

3.0最主要的問題是它引進了c 11 所有ndk版本必須是r8e版本以上,即使你已經有這些已經準備好,還要注意一點是ndk編譯的時候預設採用ndk toolchain version 4.6的形式去編譯,這個時候就會出現 error thread in namespace std does not ...

cocos2dx 3 0 學習資源

目前看見的cocos2dx 3.0 學習資源 官方的英文 我也在wiki上看了一會,有的還用有道詞典查詢的單詞什麼的。史上最坑爹的遊戲 holdtail 目前資料很少,mac下開發的資源就更少了。如果有朋友看見其他資源可以告訴我啊,謝謝 cocos2dx 3.0基礎知識 cocos2dx 3.0 a...

cocos2d x 3 0建立專案

之前一直用的是cocos2d x 2.3版本,使用tools裡面的create project.py指令碼可以很方便的建立專案。今天更新為3.0後,發現新版建立專案的方式有了很大的改變,於是在這裡記錄一下。在3.0的根目錄下有乙個setup.py的指令碼,用命令列定位到該指令碼所在目錄並執行它 或者...