cocos2d-x游戏实例(21)-纵版射击游戏(8)

前端之家收集整理的这篇文章主要介绍了cocos2d-x游戏实例(21)-纵版射击游戏(8)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man

上一篇为敌人添加了子弹,本篇为主角添加受伤并添加表示主角血量的ui,首先来看效果图:

首先可以注意到左下角表示出了主角的血量,实现的代码如下:


就是为定义三个基于这张图片的变量并把它表示在界面上,并用一个变量存储主角当前的血量playlife,在每次主角受伤的时候,我做如下的处理:


我们为主角的血量变量减1,然后“熄灭”一个血量ui,之后处理主角的“受伤”动作,我们给主角加上CCBlink动作,并且用一个变量isreduce来记录当前主角的受伤状态,因为这个时候,主角是不应该再被检测受伤的,会获得一段时间的“无敌时间”,然后再动作5.0s结束后,我们再把isreduce设回false

下面的代码是检测主角和敌人子弹的碰撞


如果isreducefalse,也就是说主角不是受伤状态,就遍历一遍子弹数组,检测碰撞,用之前的iscollision检测碰撞,如果碰撞,则调用之前的reduceLife函数并把,子弹设置为不显示,以下为iscollision函数


然后就是检测敌人与主角的碰撞,在敌人的逻辑中实现:


就是如果敌人与主角碰撞,那么敌人死亡,设置粒子系统,并调用主角reduceLife,然后再2.0s后让敌人重生。

如有错误之处,希望大家多多指正

下一篇继续纵版射击游戏实例

猜你在找的Cocos2d-x相关文章