cocos2d-x 3.0开发笔记:用progressTimer制作血槽
发表于2017-07-27
本篇文章给大家介绍如何使用progressTimer制作血槽。血条在游戏中经常会用到,考虑到没必要重复编写浪费时间,这里用最新版的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);