原文同步发布于我的wiki,查看原文或更新请移步: 点击打开链接
写在最前面
- 微信飞机大战,触控的大神JackyStudio 已经在他的专栏微信飞机大战讲解中完整细致的实现了一遍,基于cocos2d-x-v2.2.0和cocos2d-x-3.0,推荐大家阅读。同时该系列的资源代码等全部开源(地址见文后链接),利于新手运用和学习。感谢分享。
- 本系列将基于cocos2d-x的3.3版本实现,语言是c++。
- 加分项目
- (先把目标列在这里,前期优先实现基本功能)
- 运用对象缓冲池,可尝试
- 运用状态模式,可尝试
- 有关卡level,不同关卡,速度,威力等不同,可尝试
- 下面将简单过下飞机大战的游戏元素。理解下需求和功能点。
微信飞机大战概述
场景和场景内的元素
- 欢迎场景
- 有背景图
- 有加载动画
- 战斗场景
- 有滚动的背景
- 有我们的飞机(可随手指移动)
- 有敌人的飞机(大,中,小)
- 有不停发射的子弹
- 有补给-双排枪
- 有补给-加血包
- 有补给-炸弹包
- 有‘暂停’/‘开始’按钮
- 有炸弹包发射按钮
- 有炸弹包计数
- 有得分统计
- 得分场景
- 有背景图
- 有本局得分
- 有历史最高分
- 有按钮‘回到游戏’
功能点
- 得分统计
- 游戏暂停恢复
- 资源预加载
- 正常游戏逻辑
- 英雄
- 英雄可发射单排子弹攻击,子弹无限
- 英雄获得双排子弹武器攻击,子弹有限
- 英雄的双排子弹用光后,切换默认的单排武器
- 按超级武器发射按钮,进行全屏攻击
- 英雄可被触摸拖动
- 敌人
- 敌人没有武器,只能进行自杀式攻击
- 敌人有大型的, 中型的, 小型的
- 补给
- 给英雄回血
- 给英雄补给超级武器
- 给英雄补给双排子弹武器
- 英雄
资源
音乐及用途
achievement.mp3//刷新记录时播放 big_spaceship_flying.mp3//大型敌机飞过 bullet.mp3//发射子弹的声音 button.mp3//暂停开始按钮 enemy1_down.mp3//小型敌人被击倒时 enemy2_down.mp3//中型敌人被击倒时 enemy3_down.mp3//大型敌人被击倒时 game_music.mp3//背景音乐 game_over.mp3//游戏结束 get_bomb.mp3//获得炸弹 get_double_laser.mp3//获得排子弹击中敌人 out_porp.mp3//双排枪没子弹 use_bomb.mp3//发射炸弹时
图片及用途
bullet1.png//子弹,黄色,蓝色 bullet2.png game_loading1.png//预加载动画 game_loading2.png game_loading3.png game_loading4.png background.png//背景 shoot_copyright.png//版权 ufo1.png//补给 ufo2.png game_resume_nor.png//暂停/恢复按钮 game_resume_pressed.png game_pause_nor.png game_pause_pressed.png hero1.png//英雄正常动话 hero2.png hero_blowup_n1.png/英雄down hero_blowup_n2.png hero_blowup_n3.png hero_blowup_n4.png bomb.png//炸弹按钮 enemy1.png//小型敌人 enemy2.png//中型敌人 enemy3_n1.png//大型敌人 enemy3_n2.png enemy1_down1.png//小型down enemy1_down2.png enemy1_down3.png enemy1_down4.png enemy2_down1.png//中型down enemy2_down2.png enemy2_down3.png enemy2_down4.png enemy3_down1.png//大型down enemy3_down2.png enemy3_down3.png enemy3_down4.png enemy3_down5.png enemy3_down6.png gameover.png//结束 btn_finish.png//finish按钮 btn_finish.png font.png//字体