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 ));
...
}
posted @ 2013-10-16 12:43  awodefeng  阅读(378)  评论(0编辑  收藏  举报