cocos2d-x中怎么添加血量条
来源:互联网 发布:jessica 知乎 编辑:程序博客网 时间:2024/04/29 17:33
我在这也不在解释了,就是实现一个血量条,这个就是通过代码实现,我不知道有什么软件还能实现此功能,如果有那个大神知道的话给我说说啊 ,谢谢啊 !
一下代码仅供参考,如有不对请指教,谢谢!
注释都写在代码中,如果有些方法还是不明白就去看源码,或者百度。
//如果使用的不是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 0
- cocos2d-x中怎么添加血量条
- cocos2d-x 血量条 CCProgressTimer实现
- Cocos2d-x游戏开发——血量条
- Cocos2d-X 3.4版-自定义血量条《赵云要格斗》
- 【木头Cocos2d-x 019】控件篇(第03章)我要战斗之血量条
- Cocos2d-x 控件篇003 我要战斗之血量条
- cocos2d-x 血量条实现:LoadingBar、ProgressTimer和Slider实现示例
- cocos2d-x 添加广告条
- Cocos2d-X 添加广告条
- 血量条
- cocos2d-x中,怎么开启debugDraw?
- 血量条的制作
- Unity3D-血量条制作
- cocos2d-x添加广告条(IOS and Android)
- cocos2d-x添加广告条(BADA版本)
- cocos2d-x添加广告条(IOS and Android)
- cocos2d-x添加广告条(IOS and Android)
- cocos2d-x如何简单添加admob广告条
- hdu 1068 Girls and Boys
- 利用递归计算N的阶乘
- 大话ns2网络仿真3
- 贪婪算法算找零钱
- linux计划任务---crontab的使用
- cocos2d-x中怎么添加血量条
- hdu 1281 棋盘游戏
- 大话ns2网络仿真4
- 简单的构造与析构函数
- 序
- hdu 1179 Ollivanders: Makers of Fine Wands since 382 BC.
- Jsp与servlet的区别
- ns2网络仿真5
- oracle中undo和redo的区别