【cocos2dx】イベント時間の表示で利用できるプログレスバーを実装する

【cocos2dx】イベント時間の表示で利用できるプログレスバーを実装する
   

ゲーム内で、何か時間の経過でイベントが起るような場合、それをPlayerに明示するモノがあればわかりやすいですね。
今回は、cocos2dxで「プログレスバー」を使って、時間の経過を表現する方法を紹介します。

幸いにも、cocos2dxにはCCProgressTimerというクラスが用意されているので簡単に実装できます。

プログレスバー実装

まずは、プログレスバーで利用する画像を用意します。
プログレスバーに関しては、「時計のような円状」「横棒」の2タイプあります。

[今回は赤い画像をプログレスバーにします]
2013-12-30-dasas.png


実装

このような感じで実装をします。
今回は、円型のプログレスバーです。

    CCSize winsize = CCDirector::sharedDirector()->getWinSize();
    CCSprite *bar = CCSprite::create("time-bar.png");
    
    //タイマー処理
    Timer = CCProgressTimer::create(bar);
    Timer->setType(kCCProgressTimerTypeRadial);
    Timer->setPosition(ccp(winsize.width/2,winsize.height/3*2));
    Timer->setPercentage(0.0f);
    Timer->setTag(1);
    this->addChild(Timer,3);



棒状に変更する場合は、setTypeの所を変更して下さい。

    Timer->setType(kCCProgressTimerTypeBar);



使い方

色々と使い方があると思うのですが、setPercentage()が100になった時に何かイベントを発生させるなどができます。



    float time = Timer->getPercentage();
    time +=1.0f;
    Timer->setPercentage(time);

    if(time > 100.0f){


    }


2013-12-30-dafsda.png

Related Posts Plugin for WordPress, Blogger...