最近在学习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的一个成员;