转载请注明,原文地址:http://blog.csdn.net/musicvs/article/details/8551066
正文:
1. 不调用update函数,调用自己的函数
其实原理是一样的,我们调用scheduleUpdate的时候,系统默认每帧去调用update函数,但如果我们想调用自己的函数呢?很简单,先给HelloWorldScene添加一个函数:
- private:
- /* 自定义的update函数 */
- void MutUpdate(float fDelta);
同样在函数里打日志:
- void HelloWorld::MutUpdate( float fDelta )
- {
- CCLOG("MutUpdate");
- }
然后我们要添加一句很暴力的代码:
- bool HelloWorld::init()
- {
- bool bRet = false;
- do
- {
- CC_BREAK_IF(! CCLayer::init());
- //this->scheduleUpdate();
- /* 指定每帧执行自定义的函数 */
- this->schedule(schedule_selector(HelloWorld::MutUpdate));
- bRet = true;
- } while (0);
- return bRet;
- }
我们使用schedule指定了一个自定义的函数,然后我们用调试模式运行项目,将看到以下输出:
MutUpdate
MutUpdate
MutUpdate
MutUpdate
MutUpdate
MutUpdate
MutUpdate
MutUpdate
我想,没有什么可以解释的,就是指定了一个回调函数。
(小若:其实他不懂。)
2. 真正的定时
好喇,我们要真正创建一个定时器了,我们修改一下schedule的参数就可以了:
- this->schedule(schedule_selector(HelloWorld::MutUpdate), 1.0f);
第二个参数的意思是,每隔多少秒执行一次MutUpdate函数,记住,单位是秒。