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) intoff = 100/MaxHp; 最后每受到攻击一次血量就减少slow int slow = off*Attack; 最后将值给ProgressTimer的setPercentage (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |