您的位置:首页 > 移动开发 > Cocos引擎

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

2015-07-16 15:13 267 查看
小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man

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




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



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



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

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



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



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



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

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

下一篇继续纵版射击游戏实例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: