小满(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后让敌人重生。
如有错误之处,希望大家多多指正
下一篇继续纵版射击游戏实例