cocos2d-x 定时器selector的使用 :schedule的使用

在游戏设计时,我们需要不断的改变屏幕显示来反映游戏操作的效果,最简单的就是提示用户已经进行的游戏时间。为此,我们需要使用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 ));
...
}

相关推荐