Cocos2d-x中有三种定时器:schedule,scheduleUpdate,scheduleOnce。了解了其功能你便会发现定时器真是很简单,很方便,下面是它们的异同:
1. scheduleUpdate(); 此函数是Node的成员函数,每个Node只要调用scheduleUpdate(),那么这个Node就会自动刷新当前类的update(float dt)函数体。scheduleUpdate()默认每一帧都会调用update函数。
2. schedule的作用与scheduleUpdate()函数相似,但是scheduleUpdate()默认每一帧都会调用update函数,而schedule则可以自定义刷新的函数体和时间间隔。
* [1]schedule(selector); 参数:目标函数,即自定义的更新函数。该函数等同于scheduleUpdate,默认每一帧都调用目标函数。
* [2]schedule(selector,interval); 参数:目标函数,更新时间。
* [3]schedule(selector,interval,repeat,delay); 参数:目标函数,更新时间,更新次数,每次等待时间。
3. scheduleOnce(selector,delay); 参数:目标函数,等待时间。只执行一次,可以指定刷新的函数体。
停用定时器的方法:
1.停止默认的update更新函数。
1 |
unscheduleUpdate(); |
1 |
unschedule(selector); |
3. 停止所有更新函数。
1 |
unscheduleAllSelectors() |