如何在Cocos2d android中使用CCTimer类?

时间:2013-02-18 07:21:47

标签: cocos2d-android

我想将CCTimer类用于Timer,但我无法理清。我用它为此手动创建一个函数但似乎无效。

protected GameLayer(ccColor4B color)
{
    super(color);

            schedule(new UpdateCallback() {
        @Override
        public void update(float d) {
            countTime(d);
        }
      },0.99f);

}

public void countTime(float scr) {
    if(_label != null){
        this.removeChild(_label,true);
    }
    j=j-(int)scr;

    CGSize winSize = CCDirector.sharedDirector().displaySize();
    _label = CCLabel.makeLabel("Time Left :" + j, "Verdana", 20);
    _label.setColor(ccColor3B.ccGREEN);
    _label.setPosition(155f, winSize.height - 15);
    addChild(_label);

    if(j<=0){
        CCDirector.sharedDirector().pause();
    }

}

它从1运行到我想要停止的点...... !!!

如何使用CCTimer类来解决此问题?

1 个答案:

答案 0 :(得分:1)

CCTimer可用,但我之前没有尝试过,但你可以通过Timer类来做这件事:

Timer timer = new Timer();
timer.scheduleAtFixedRate( new TimerTask(){
public void run() {
    updateTimeLabel();
}




public void updateTimeLabel() {
        float time += 1;
        String string = CCFormatter.format("%02d:%02d", (int)(time /60) , (int)time % 60 );
        CCBitmapFontAtlas timerLabel = (CCBitmapFontAtlas) getChildByTag(TIMER_LABEL_TAG) ;
        timerLabel.setString(string);
}