# 基于cocos2d-x实现的全民打飞机小游戏
# 一、概述
## 1.1 介绍
本程序是本科生毕业设计做的一款飞行射击类游戏,模仿的是微信上的游戏**全民打飞机**,本游戏中大多数的素材也都是来自于**全民打飞机**游戏中。
本游戏主要是以**Cocos2d-x**为游戏引擎,以**C++**高级程序语言为编程语言,在**Windows 8.1**操作系统下使用**Microsoft Visual Studio 2013**、Eclipse等工具开发并最终移植到Android手机平台上。
下面是本游戏的游戏画面(动态图):
![](http://www.writebug.com/myres/static/uploads/2021/10/19/9a3e73470ed5223401d1fd5d54afb190.writebug)
## 1.2 文件说明
### 1.2.1 Classes
本文件是游戏主代码所在,至于各个代码的用途请参看说明文档。
### 1.2.2 resources
本文件中存储的有本游戏使用的音效、字体、以及材质包。其中材质包使用**texturepacker**软件打包。
## 1.3 游戏截图
**游戏欢迎界面**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/4ef44f0f280e93ae8c5829265dd1f387.writebug)
**选关界面**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/bb358ea00c3a53606059fef5f0f8aa3b.writebug)
**选择主角飞机**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/3c1899ed2af5b20852382f84d50cf48c.writebug)
**游戏进行中**
- 左上角为暂停按钮
- 右上角为积分面板
- 左下角为导弹按钮
- 右下角为血量面板
**图中心性飘动物是加血道具**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/e734d233dfb990916026d3c9d05d1441.writebug)
**图中飘动的是加导弹道具**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/1c399a851c7aace178d119ecaaf3a505.writebug)
**图中飘动的是加子弹攻击力道具**
还有一个未显示道具是增加子弹列数,即可以增加发射子弹数。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/5f1a5dba2cd1f32bf33d5e4e1a464c0f.writebug)
![](http://www.writebug.com/myres/static/uploads/2021/10/19/960049a29daec798f61bba0c8a8d63f7.writebug)
![](http://www.writebug.com/myres/static/uploads/2021/10/19/5faa5460da5b67bd66d8912d15f009aa.writebug)
![](http://www.writebug.com/myres/static/uploads/2021/10/19/03afcd97ee1d8710cc01a5ccae894a82.writebug)
**结束画面**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/fb42fc9237f732ec8828457ab91627e9.writebug)
# 二、开发工具及技术
**C++高级语言程序**
C++是在 C 语言的基础上开发的一种通用编程语言,其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大受用的最强大编程语言之一。
**Cocos2d-x 引擎**
Cocos2d-x 是一个开源的移动游戏框架。Cocos2d-x 提供框架围绕 Cocos2d 跨平台为重点发展,其项目很容易在 iOS,Android 等手机平台上运行。
**Microsoft Visual Studio 2013**
Vs2013 是微软公司在 2010 年第二季度推出的开发环境。其集成开发环境的界面被重新组织与设计,使用起来更加简单明了。这是本软件编写的主要工具。
**Eclipse**
Eclipse 是一个基于 Java 的、开源的、可扩展开发平台。是人气最旺的 Java IDE 之一。
**Python 高级语言**
Python 会在软件开发周期中有一些简单的运用。
# 三、系统基本功能
**基本规则**
各种各样的敌机从远处不断的袭来,他们攻击力、飞行速度、形态各不相同,但他们的目的是一样的,那就是杀死主角。当飞机碰到主角飞机是,主角飞机会受到伤害,同时敌机也会受到伤害,直至生命值为零。当然主角飞机会不断发射子弹以阻止无穷无尽的飞机冲向自己,当子弹碰到敌机时会给敌机造成伤害,直至生命值为零。
**操控**
无论是攻击敌机还是躲避敌机的攻击都需要玩家操控主角飞机进行移动。本游戏的移动操作是通过手指(鼠标)在屏幕上移动实现的。当手指(鼠标)触摸在飞机的碰撞体积上时,碰撞事件被触发。
**敌机 AI**
为了让游戏看起来更加生动,本游戏给所有的敌机添加了一定程度的 AI。有的敌机会按既定的曲线行进,有的会自爆似的冲向主角飞机,有的飞机并排出现。这些动作不一的敌机大大增加了游戏的乐趣和体验。
**游戏模式设置**
- 闯关模式。闯关模式设有三个关卡,每个关卡都会有不同的敌机和 BOSS
- 无尽模式。无尽模式中没有 BOSS,只有无限多的普通敌机
- BOSS 模式。BOSS 模式中只有闯关模式中的 BOSS,是游戏模式中最难的
**游戏难度设置**
游戏基础难度设置总共分为三种:easy、normal、hard。 若游戏为闯关模式。越到后面关卡敌机和 BOSS 的血量和攻击都会上升。若游戏为无尽模式。无尽模式游戏难度不仅会随着游戏基础难度变化而变化,也会随着游戏积分的增加而增加。 若游戏为 BOSS 模式。BOSS 模式中的 BOSS 也会随着游戏基础难度的增加而增加。
**游戏礼物**
为了增加游戏的乐趣,本游戏为玩家添加了游戏道具。 本游戏的游戏礼物共有四种:
- 增加子弹的列数。得到该道具后主角飞机外观会做出相应改变
- 增加子弹的伤害。得到该礼物后子弹的外观会做出相应改变
- 大招礼物。得到该礼物后,会有一次机会释放一排导弹,导弹从屏幕底部飞至屏幕上部
- 加血礼物。得到该礼物后,主角飞机血量会增加
**成就**
为了增加玩家对游戏的不断挑战的乐趣。本游戏增加了成就系统。
**本地储存**
为了激励玩家挑战自己,游戏增加了最高分数设置。每次游戏结束,游戏都会读取本地历史最高分数,如果当前分数超过了历史最高分数,则将当前分数作为最高分数存储起来。
**游戏帮助**
为了使新手玩家能够更快适应游戏,本游戏设置有游戏帮助,使其能快速了解本游戏。
**游戏音效**
为了使游戏更加立体、生动,本游戏设置了游戏音效,当然如果主角不喜欢游戏中音乐,可以在游戏中关闭。
# 四、系统设计
## 4.1 系统流程图
玩家启动游戏后,游戏会预先载入必要的游戏音效和图片等资源文件。进入欢迎界面后可以选择查看游戏帮助还是开始游戏。点击开始游戏进入选关界面,在此玩家可以选择自己想玩的关卡。进入游戏后游戏会检测玩家战机是否与敌机相撞、子弹是否击中敌人。 当子弹打中敌人后,若敌人血量降为零,执行爆炸动画并增加积分。若主角与敌机发生碰撞,判断敌人是否血量降为零,执行爆炸动画并增加积分,并且判断主角血量是否降为零,若是,直接进入结束界面。若本场分数超过最高分数,则将分数写入本地。在结束界面中可以选择是否接受和是否重新开始。若玩家选择的是闯关模式,游戏会在一定时间后加入关主(BOSS)相关资源。若玩家选择的是无尽模式,游戏难度会随着时间难度的增加而增加。若玩家选择的是关主模式,游戏只会载入关主(BOSS)资源,不会载入普通敌机资源。系统流程图如图 2.1 所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/8dde22945d416e919690f64c514d89e6.writebug)
## 4.2 系统基本思路
几乎所有软件的开发阶段都是从系统设计正式开始。这部分任务是把之前所做的分析模型转换为软件的设计模型。设计模型会描绘出软件的总体概貌。但由于此过程一般为迭代过程,在设计之后有可能再回到分析,又由于篇幅有限,所以在本文中会以最简洁的方式描述(若在系统设计中回到了分析,本文将不再过多描述,直接描述出主�
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
精选_毕业设计_基于cocos2d-x实现的全民打飞机小游戏_完整源码 (104个子文件)
EnemyLayer.cpp 61KB
BulletLayer.cpp 19KB
SelectBackgroundLayer.cpp 9KB
WelcomeButtonLayer.cpp 9KB
AppDelegate.cpp 7KB
UFOLayer.cpp 6KB
EnemyBulletLayer.cpp 5KB
ControlLayer.cpp 5KB
SelectButtonLayer.cpp 5KB
ArmsBackGroud.cpp 4KB
ResultBackgroundLayer.cpp 4KB
audioEffect.cpp 4KB
gameHelpBackgroud.cpp 3KB
HelloWorldScene.cpp 3KB
GameBackgroundLayer.cpp 3KB
PlaneLayer.cpp 3KB
GameBackgroundLayerEndless.cpp 2KB
GameScene.cpp 2KB
ResultButtonLayer.cpp 2KB
WelcomeBackgroundLayer.cpp 1KB
ResultScene.cpp 823B
WelcomeScene.cpp 530B
EnemyUserData.cpp 427B
SelectScene.cpp 414B
PlaneUserData.cpp 359B
BulletUserData.cpp 288B
AddArmsScene.cpp 275B
gameHelp.cpp 274B
GameMode.cpp 199B
UFOUserData.cpp 149B
plane.gif 314KB
AppDelegate.h 1KB
EnemyLayer.h 1KB
WelcomeButtonLayer.h 962B
ControlLayer.h 958B
GameScene.h 906B
BulletLayer.h 865B
ResultBackgroundLayer.h 780B
SelectBackgroundLayer.h 693B
gameHelpBackgroud.h 655B
SelectButtonLayer.h 650B
UFOLayer.h 647B
audioEffect.h 638B
PlaneLayer.h 615B
HelloWorldScene.h 610B
EnemyBulletLayer.h 587B
ArmsBackGroud.h 572B
GameBackgroundLayerEndless.h 562B
GameBackgroundLayer.h 537B
WelcomeBackgroundLayer.h 502B
WelcomeScene.h 434B
ResultScene.h 415B
ResultButtonLayer.h 393B
BulletUserData.h 351B
EnemyUserData.h 285B
SelectScene.h 280B
PlaneUserData.h 266B
UFOUserData.h 265B
GameMode.h 226B
gameHelp.h 220B
AddArmsScene.h 201B
BulletStyle.h 0B
LICENSE 1KB
README.md 43KB
BossGameMode.mp3 2.61MB
checkPoint3.mp3 2.11MB
bgMusic.mp3 1.93MB
selectScene.mp3 1.91MB
checkPoint1.mp3 1.87MB
welcomeScene.mp3 1.85MB
myPlaneChoose.mp3 1.83MB
checkPoint2.mp3 1.13MB
Stage1.mp3 762KB
mainMainMusic.mp3 748KB
gameScene.mp3 550KB
endlessGameMode.mp3 485KB
selectScene.mp3 329KB
welcomeScene.mp3 306KB
GameOver.mp3 94KB
MissleBlowUp.mp3 53KB
Fly.mp3 31KB
GainMissle.mp3 30KB
bossDestroyEffect.mp3 23KB
BulletLevelUp.mp3 18KB
GainGold.mp3 16KB
Shoot.mp3 9KB
buttonEffet.mp3 8KB
enenmyexplodeEffect.mp3 4KB
fireEffect.mp3 2KB
说明文档.pdf 1.37MB
texture_1.plist 26KB
texture.plist 25KB
texture.plist 23KB
explosion.plist 17KB
texture_2.plist 5KB
texture_2.png 3.67MB
texture_1.png 2.83MB
texture.png 2.27MB
texture.png 2.2MB
explosion.png 202KB
共 104 条
- 1
- 2
资源评论
工具盒子
- 粉丝: 58
- 资源: 1313
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功