閒話不說。先講一下設計。大體上一共分為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的指令碼,用命令列定位到該指令碼所在目錄並執行它 或者...