ダウンロードなどの進捗表示に使用できる CCProgressTimer クラスの使い方です。
CCProgressTimer に指定した CCSprite が CCProgressTimer のパーセンテージにより表示され方が変化していきます。表示方法は時計回りに表示されていくのと、画像の真ん中から表示されていく2種類あります。

下の画像は時計回りに Icon-72.png が表示されていく例です。
CCProgressTimer の表示例

cocos2d-x の v1.0 のころは反時計回りや上からや下からなど6種類ほどあったのですが、v2.0 になってから2種類になりました。(多分 cocos2d-iphone に合わせたのでしょう)

実装例です。当然ですが CCProgressTimer クラスのパーセンテージを変えて行かないと何も起こりません。

bool HelloWorld::init()
{
if ( !CCLayer::init() )
{
return false;
}
CCSize size = CCDirector::sharedDirector()->getWinSize();
CCSprite* sprite = CCSprite::create("Icon-72.png");
CCProgressTimer* timer = CCProgressTimer::create(sprite);
timer->setType(kCCProgressTimerTypeRadial);
timer->setPosition(ccp(size.width/2, size.height/2));
timer->setPercentage(0.0f);
this->addChild(timer, 1, 1);
this->scheduleUpdate();
return true;
}
void HelloWorld::update(float delta) {
CCProgressTimer* timer = (CCProgressTimer*)this->getChildByTag(1);
float percent = timer->getPercentage();
percent += 10.0f * delta;
timer->setPercentage(percent);
if (percent>100.0f) {
this->unscheduleUpdate();
}
}
view raw gistfile1.cpp hosted with ❤ by GitHub

関連する投稿