如果在cocos2d-x项目中要实现游戏加载进度条变化、人物血条的变化以及怪物血条的变化你又不想自己写关于进度条的类时,可以直接使用cocos2d-x里自带的进度条类。
首先LoadingBar是继承自Widget类,具体的可以参考官网API文档。
在这里我介绍下LoadingBar的简单使用的方法:
第一步:在要用LoadingBar时要先包含头文件以及命名空间,不然会报找不到UI控件所在的头文件的错误。
第二部:才是代码的实现
LoadingBar* heroHP = LoadingBar::create("xue_fore.png");
heroHP->setPosition(Vec2(120, 450));
heroHP->setPercent(100); //设置100 血量
this->addChild(heroHP,1);
这里要注意的地方是如果你创建进度条后没有设置进度条进度,进度条是不会显示的,也就是这句代码heroHP->setPercent(100);必须要写上的。
最后,就是根据动态数据改变进度条的进度。
//掉血改变血条
LoadingBar* loadingBar = (LoadingBar*)this->getChildByTag(888);
int hp = (m_gHero->getCurrentHeroPH() / (float)m_gHero->getFullHeroPH()*100);
loadingBar->setPercent(hp);
这样只要人物的血量变化值m_gHero->getCurrentHeroPH(),进度条就会跟着变化,其中m_gHero->getFullHeroPH()是人物的满血量时的血量值。