寒風的Cocos2dx之旅之如何通过碰撞来实现生命值依次减少

首先我在.h文件中定义了3个血条,以方便我在.cpp中调用。(三个血条分别代表3个图片)

Sprite* spriteHp1;
Sprite* spriteHp2;
Sprite* spriteHp3;

再定义一个LiveCut方法在.h文件里,在.cpp中实现该方法。

void LiveCut();

void 类名::LiveCut()

{

    if(spriteHp1){

      spriteHp1->removefromparentsandcleanup(true);

      spriteHp1=NULL;

}

}

if(spriteHp1)
	{
		spriteHp1->removeFromParentAndCleanup(true);
		spriteHp1=NULL;
	}
	else if(spriteHp2)
	{
		spriteHp2->removeFromParentAndCleanup(true);
		spriteHp2=NULL;
	}
	else if(spriteHp3)
	{
		spriteHp3->removeFromParentAndCleanup(true);
		spriteHp3=NULL;
		GameOver();
	}
       代码如上。每一次执行这个方法都会走一遍循环,第一次走的时候,就让spriteHp1消失,退出方法。第二次走这个方法的时候,直接跳转到else if中的spriteHp2,来删除她,因为此时的spriteHp1值为空,它已经被释放了。spriteHp3类似的道理。这样就能够实现生命值依次减少了。PS:可根据需要放在碰撞一次,实现一遍这个方法。再碰一次再实现这个方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值