一个游戏中只有一个schedule(是单例),使用的时候要先获取对象,如果继承CCNode 就不用了,因为已经获取了。
CCScheduler *
m_pScheduler = CCDirector::sharedDirector()->getScheduler();
- //更新定时器,每帧调用1次。每个节点只能有1个被调度的update函数
- void
scheduleUpdate( void); - //卸载更新定时器
- void
unscheduleUpdate( - //自定义定时器,如果重复调用,那调用间隔会更新,而不会再次调用
- //interval,调用时间间隔,如果为0,建议使用scheduleUpdate
- //repeat,回调函数会被执行repeat+1次,kCCRepeatForever是无限次调用
- //delay,第一次执行前的延时
- void
schedule(SEL_SCHEDULE floatselector, interval, intunsigned repeat,87)">float delay); - float
interval); - void
scheduleOnce(SEL_SCHEDULE selector,153)">void schedule(SEL_SCHEDULE selector); - //卸载自定义定时器
- void
unschedule(SEL_SCHEDULE selector); - void
unscheduleAllSelectors( //恢复所有定时器和动作,OnEnter调用 - void
resumeSchedulerAndAction //暂停所有定时器和动作,OnExit调用s( - void
pauseSchedulerAndActions ( - //scheduleUpdate每帧调用 注意函数名字
- virtual
void update( floatdelta);
原文地址:http://blog.csdn.net/zhanghefu/article/details/38466801
cocos2dx三种定时器的使用以及停止schedule,scheduleUpdate,scheduleOnce
首先,什么是定时器呢?或许你有时候会想让某个函数不断的去执行,或许只是执行一次,获取你想让他每隔几秒执行一次,ok,这些都可以统统交给定时器来解决。
cocos2dx中有三种定时器:schedule,scheduleUpdate,scheduleOnce。了解其功能便会发现定时器真是太方便了,废话不多说,我们逐一学习一下。
1、scheduleUpdate
加入当前节点后,程序会每帧都会自动执行一次默认的Update函数。(注:一定是Update函数哦,若想调用其他自己命名的函数则使用schedule)
看例子,走起。
- voidUpdate(floatdt);//注意参数类型