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后让敌人重生。

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

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


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值