最近在學習cocos2dx引擎,版本是2.1.3,開發環境是win7 + vs2010,模仿微信打飛機游戲,開發中參考了 csdn 偶爾e網事 的系列文章:http://blog.csdn.net/column/details/jackyairplane.html。
項目結構如下
紅色框的表示場景,主要用到四個場景:
MainMenuScene表示主場景,也就只是提供三個標簽:開始游戲,退出,設置;
LoadingScene 表示加載場景,把一些圖片、聲音資源和一些動畫提前做好預先加載到緩存里;
GameScene 表示游戲主場景,最重要功能的是進行碰撞檢測,游戲大部分時間在這里度過;
GameOver 表示游戲結束場景,游戲結束后顯示歷史最高分、當次游戲獲得分數等;
Enemy類和EnemyLayer類
Enemy類主要是產生不同類型的敵機,包括敵機的血量、打爆該敵機得到的分數等;
EnemyLayer類提供一些函數負責處理敵機產生后的飛行動畫、爆炸動畫、敵機的回收等,它有一個array數組來存儲產生的敵機。其實兩個類的提供的功能區分得不是很明顯,也可以集合到一個類處理。
BulletLayer類和HeroLayer類
BulletLayer類負責產生子彈、回收子彈等關於子彈的相關處理,它有一個array數組來存儲子彈;
HeroLayer類負責處理一些Hero的功能,包括移動hero、hero爆炸的回調函數等;因為子彈的發射位置由hero的位置決定,所以BulletLayer是HeroLayer的一個成員;