ProgressTo类继承于ActionInterval类,所以是一个间隔动作。
API文档中对其描述如下:
Progress to percentage.
简单的我已经懒得吐槽了。
还是看看官方的示例吧,示例的代码如下:
auto s = Director::getInstance()->getWinSize();
auto to1 = Sequence::createWithTwoActions(ProgressTo::create(2, 100), ProgressTo::create(0, 0));
auto to2 = Sequence::createWithTwoActions(ProgressTo::create(2, 100), ProgressTo::create(0, 0));
auto left = ProgressTimer::create(Sprite::create(s_pathSister1));
left->setType( ProgressTimer::Type::RADIAL );
addChild(left);
left->setPosition(100, s.height/2);
left->runAction( RepeatForever::create(to1));
auto right = ProgressTimer::create(Sprite::create(s_pathBlock));
right->setType(ProgressTimer::Type::RADIAL);
// Makes the ridial CCW
right->setReverseProgress(true);
addChild(right);
right->setPosition(s.width-100, s.height/2);
right->runAction( RepeatForever::create(to2));
从代码中可以看出,ProgressTo只是负责设置时间和百分比的,真正运行的时候是需要ProgressTimer类的对象来调用的。
ProgressTo的create函数定义如下:
static ProgressTo* create(float duration, float percent);
传入动作的时间和百分比。
ProgressTo类相对简单,ProgressTimer就复杂很多。