網頁

2013年4月30日 星期二

Cocos2D學習筆記-Timers改用[schedule: interval:]

使用nstimer太習慣,不知不覺在cocos2d中就用起了nstimer,但在換sence後,若又換回同一個sence時,重覆個兩次就會發生無法invalidate的狀況(應該說我的做法不知道為什麼會init兩個timer),最後發現還是用schedule: interval:比較正確,理由有二

  1. 比較沒有延遲問題
  2. 不用手動unschedule,除非有必要(我的狀況正好是有必要)
使用方式如官方提供的範例:
/**********************************************************/
// OK OK OK OK OK
/**********************************************************/
-(id) init
{
    if( (self=[super init] ) ) {
        // schedule a callback
        [self scheduleUpdate];  // available since v0.99.3
        [self schedule: @selector(tick2:) interval:0.5];
    }

    return self;
}

-(void) update: (ccTime) dt
{
    // bla bla bla
}

-(void) tick2: (ccTime) dt
{
    // bla bla bla
}


非常簡單

參考網址:
cocos2d Best Practices

沒有留言:

張貼留言