Cocos2d-x 简单弹幕射击游戏

开发环境

     Win10, Cocos2d-x v3.16, Visual Studio 2017, Visual Studio Code

 

项目阐述

这个游戏是一个小型的弹幕游戏。玩家将控制pipi美,在躲避pop子的子弹之余,射杀pop子。名字打算叫“pop子的深邃黑暗幻想”。

游戏的设计主要借鉴了东方系列的弹幕游戏,借鉴内容包括pop子发射的各种弹,以及部分的关卡设计。

玩家控制的角色使用了声优阵容豪华、作画精良的动画ポプテピピック的女主角之一pipi美。(下图为裁剪后用作帧动画的png)

Cocos2d-x 简单弹幕射击游戏_第1张图片

敌人则是同作品的另一主角pop子。

Cocos2d-x 简单弹幕射击游戏_第2张图片

游戏的玩法与雷电或雷霆战机类似(实际上弹幕的设计比起这两款更接近东方系列的游戏,考虑到东方的受众,这里用这两款游戏举例),玩家将使用方向键控制角色移动,躲避敌人发射的密集的子弹,同时游戏会从玩家角色发射子弹,玩家不需要另外按键来主动发射子弹。

游戏主界面有四个菜单按钮,分别时开始游戏,作弊模式,查看记录,退出。因为游戏用了不少日本ACG元素,因此菜单按钮也用了日文,这里需要用xml载入文字。作弊模式能免疫子弹上海。查看记录能查看历史游戏最快通关记录(如果能通关的话)。

玩家的子弹有三种模式,会随着敌人血量减少而升级。第一种为普通的单发子弹(图为蝴蝶结)。第二种为双发的子弹(左右手比中指)。第一种升为第二种时会有路飞开二档的声音,由于是从动画录的音,因此效果不怎么好。第三种为画符,能自动追向敌人,是考虑到后面的关卡设计可能无法一直瞄准敌人而设计的模式。第二种升第三种时,会有承太郎的声效。攻击模式的升级不会替代旧模式,而是添加。

第一种: 第二种:Cocos2d-x 简单弹幕射击游戏_第3张图片Cocos2d-x 简单弹幕射击游戏_第4张图片 第三种:

敌人有六种攻击模式,有三种类型的子弹。具体的关卡设计可以在游戏中无敌状态中体验,或者看下面的项目展示。每个关卡对应一个攻击模式。攻击模式会随着血量减少而改变。玩家通过某个关卡时,会清空子弹,并双方休息3秒。第三种子弹的发射有音效。

第一种: 第二种: 第三种:

游戏上方会记录本次游戏花费的时间,游戏如果通关,则会判断这次成绩能否进历史成绩的前十,如果可以,会提示ニューレコード(new record),并将成绩按排名添加到记录中。首次启动时成绩默认为59:59:59。

玩家角色身上有一个红边点,是碰撞的判定点。为了降低游戏难度,实际判定面积是红边点面积的2/3(点的半径为7.5,刚体创建时设置的半径为5)。游戏界面右上角为玩家剩余生命,初始为3。玩家被子弹触摸就会立即死亡,死亡时会清空子弹,死亡后会闪烁,并有两秒的无敌时间。

背景地图会随着敌人生命减少移动。

 

知识点:

  1. 物理引擎。双方的子弹,双方的角色都有设置刚体。设置刚体方便了子弹自己运动以及触摸检测,关节绑定等。
  2. 调度器。子弹的发射,血量,计时,攻击模式的变化,边界的检测等都用了调度器。
  3. 音效。使用了AudioEngine加载音效。
  4. 帧动画。Player在循环帧动画旋转。
  5. 动作。Player第三种模式的追踪子弹,以及敌人一直在旋转,都使用了动作。
  6. 汉字(日文)读取。使用了xml读取文字,解决了汉字支持问题。
  7. 数据存取。使用了UserDefauld,存储历史记录。
  8. 监听器。键盘监听,控制角色。
  9. 预加载。预加载图片和音效。
  10. 粒子系统。子弹被清空时(通过关卡或死亡),子弹会有爆炸效果。游戏胜利时,敌人会有漩涡效果。
  11. 画面跳转。

效果展示详情看:https://github.com/c980129/popko/blob/master/%E6%9C%9F%E6%9C%ABproject%E5%AE%9E%E9%AA%8C%E6%8A%A5%E5%91%8A.pdf

代码:https://github.com/c980129/popko/tree/master/popko

你可能感兴趣的:(C语言,Cocos)