cocos2d-x中怎么添加血量条

我在这也不在解释了,就是实现一个血量条,这个就是通过代码实现,我不知道有什么软件还能实现此功能,如果有那个大神知道的话给我说说啊 ,谢谢啊 !

一下代码仅供参考,如有不对请指教,谢谢!

注释都写在代码中,如果有些方法还是不明白就去看源码,或者百度。

//如果使用的不是plist文件,就直接create就行,背景图片
    hpBgSprite = Sprite::createWithSpriteFrameName("hpBg1.png");
    hpBgSprite->setPosition(Point(sprite->getContentSize().width / 2, sprite->getContentSize().height ));
    sprite->addChild(hpBgSprite);
    //这个是血量条的图片
	hpBar = CCProgressTimer::create(Sprite::createWithSpriteFrameName("hp1.png"));
	//设置血量条的类型是条型的还是圆型的
	hpBar->setType(ProgressTimer::Type::BAR);
	//设置位置
	hpBar->setMidpoint(Point(0, 0.5f));
	//设置血量是从那开始时从左还是从右,现在是从左向右
	hpBar->setBarChangeRate(Point(1, 0));
	//设置血量条的初始值
	hpBar->setPercentage(hpPercentage);
    hpBar->setPosition(Point(hpBgSprite->getContentSize().width / 2, hpBgSprite->getContentSize().height / 3 * 2 ));
    hpBgSprite->addChild(hpBar);


下面的记录比较乱,由于代码是公司的,所以请谅解。

今天要不出一点,就是你添加过血量条后,肯定会要去根据攻击,还进行设置血量的显示,在 这我将大致思路说一下,代码我就不贴出来了。

我们就那一个怪物的血量条为例,当怪物收到攻击是血量就会减少,我们需要拿到怪物的血量(我们需要给他两个变量,一个是当前,还有就是一个总的血量),

伪代码如下:

currentHp = monsterHp;

MaxHp = monsterHp;

当怪物受到攻击时,

currentHp -= Attack;

在给怪物血量一个set和get方法,

setCurrentHp(currentHp);

那到血量条的值(一般都设置为100)

int off = 100/MaxHp;

最后每受到攻击一次血量就减少 slow

int  slow = off*Attack;

最后将值给ProgressTimer的setPercentage



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值