在遊戲設計時,我們需要不斷的改變屏幕顯示來反映遊戲操作的效果,最簡單的就是提示用戶已經進行的遊戲時間。爲此,我們需要使用cocos2d-x內置的任務調度機制,即CCNode的schedule成員函數。
void |
schedule (SEL_SCHEDULE selector) |
|
schedules a selector. |
void |
schedule (SEL_SCHEDULE selector, ccTime interval) |
|
schedules a custom selector with an interval time in seconds. |
void |
unschedule (SEL_SCHEDULE selector) |
|
unschedules a custom selector. |
void |
unscheduleAllSelectors (void) |
|
unschedule all scheduled selectors: custom selectors, and the 'update' selector. |
Cocos2D-X中的schedule有兩種作用:
1)定時執行方法
例如,每隔1秒就執行GameLayer類的方法step(ccTime dt)。
this->schedule(schedule_selector(GameLayer::step), 1.0f);
...
void GameLayer::step(ccTime dt)
{
...
}
2)延時執行方法
例如, 延時 5秒執行GameLayer類的方法step(ccTime dt)。
this->schedule(schedule_selector(GameLayer::step), 5.0f);
...
void GameLayer::step(ccTime dt)
{
this->unschedule(schedule_selector( GameLayer::step ));
...
}