原文同步发布于我的wiki,查看原文或更新请移步:
点击打开链接
写在最前面
- 微信飞机大战,触控的大神JackyStudio 已经在他的专栏微信飞机大战讲解中完整细致的实现了一遍,基于cocos2d-x-v2.2.0和cocos2d-x-3.0,推荐大家阅读。同时该系列的资源代码等全部开源(地址见文后链接),利于新手运用和学习。感谢分享。
- 我是新手,刚懂点cocos的基础。我这系列将沿着大神的足迹前进,更进一步去体会理解cocos的魅力。本系列将记录我个人在实践之路上的体会。
- 本系列将基于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//字体