我正在開發一個使用cocos2d和box2d的iPhone應用程序。在這個應用程序中,我需要設置一個計時器。 計時器將顯示玩家到達目的地的剩餘時間...cocos2d:如何設置一個計時器
我該怎麼做.....我畫了一個場景,但沒有把握,因爲我是初學者如何添加計時器。
謝謝
我正在開發一個使用cocos2d和box2d的iPhone應用程序。在這個應用程序中,我需要設置一個計時器。 計時器將顯示玩家到達目的地的剩餘時間...cocos2d:如何設置一個計時器
我該怎麼做.....我畫了一個場景,但沒有把握,因爲我是初學者如何添加計時器。
謝謝
您可以使用CCTimer。 就像這樣:
float delay = 1.0; // Number of seconds between each call of myTimedMethod:
CCTimer *myTimer = [[CCTimer alloc] initWithTarget:self
selector:@selector(myTimedMethod:) interval:delay]];
的方法myTimedMethod:將被調用,然後每一秒。
我只是安排一個間隔選擇器。這適用於所有基於CCNode的類。
預約選擇每秒觸發一次:
[self schedule:@selector(timerUpdate:) interval:1];
,此方法被每秒調用一次:
-(void) timerUpdate:(ccTime)delta
{
numSeconds++;
// update timer here, using numSeconds
}
使用CCTimer Parceval的方法也沒關係,但你應該更喜歡靜態自動釋放初始化像這個:
CCTimer *myTimer = [CCTimer timerWithTarget:self
selector:@selector(myTimedMethod:)
interval:delay]];
此方法在v2.x中給出問題。什麼是替代這個。儘管頭文件包含方法,但Xcode發生錯誤。 – 2014-08-04 10:53:17
同樣在這裏。沒有timerWithTarget或initWithTarget方法(iOS 7.1,Xcode 5.1.1)。 – 2014-08-12 14:45:03
CCTimer與'NSTimer'相比有什麼優勢? – 2010-08-02 20:10:49
它使用cocos2d的內部調度機制。如果我理解正確,則取決於使用哪種CCDirector類型。在這種情況下,pro和con的(如果有的話)可能大多不相關。 – LearnCocos2D 2010-08-03 11:16:00
我認爲,一個很大的好處是,這個計時器在遊戲暫停時暫停。 – 2011-07-04 16:29:13