血条经常会用到,没必要重复编写浪费时间,这里用最新版的API写个,方便以后调用。
以下代码使用的引擎版本是cocos2d-x 3.0rc0
1.RADIAL
Sprite *bgSprite = Sprite::create("red.png");
addChild(bgSprite, 1, 1);
Sprite *hpSprite = Sprite::create("green.png");
progressTimer = ProgressTimer::create(hpSprite);
progressTimer->setType(ProgressTimer::Type::RADIAL);
progressTimer->setReverseProgress(true);
progressTimer->setPercentage(30);//满值 100%
addChild(progressTimer, 0, 0);
2.BAR
Sprite *bgSprite = Sprite::create("box.png");
addChild(bgSprite, 1, 1);
Sprite *hpSprite = Sprite::create("hp.png");
progressTimer = ProgressTimer::create(hpSprite);
progressTimer->setType(ProgressTimer::Type::BAR);
///
//从左到右
progressTimer->setMidpoint(ccp(0, 0.5));
progressTimer->setBarChangeRate(ccp(1, 0));
//从右到左
// progressTimer->setMidpoint(ccp(1, 0.5));
// progressTimer->setBarChangeRate(ccp(1, 0));
//从上到下
// progressTimer->setMidpoint(ccp(0.5, 1));
// progressTimer->setBarChangeRate(ccp(0, 1));
//从下到上
// progressTimer->setMidpoint(ccp(0.5, 0));
// progressTimer->setBarChangeRate(ccp(0, 1));
///
progressTimer->setMidpoint(Point(0, 0.5));
progressTimer->setBarChangeRate(Point(1, 0));
progressTimer->setPercentage(30);//满值 100%
addChild(progressTimer, 0, 0);