【木头Cocos2d-x 034】小弟我是定时器(第03章)—真正的定时器之schedule
【木头Cocos2d-x 034】我是定时器(第03章)—真正的定时器之schedule
我是定时器第03章—真正的定时器之schedule
上一节介绍的”定时器”实在是有点不定时,这次我给大家介绍一个很定时的定时器。
(小若:= =总觉得逻辑不对)
笨木头花心贡献,啥?花心?不呢,是用心~
转载请注明,原文地址:http://blog.****.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函数,记住,单位是秒。
还有一个更厉害的定时器,我忍不住要给大家介绍了!
(小若:好棒!)
请听下节分解。
(小若:你妹纸的!)
- 3楼start530前天 15:32
- 感动死掉
- Re: musicvs前天 17:50
- 回复start530n下次让你感动复活~
- 2楼lifei1234567890101前天 11:50
- 920664283
- Re: musicvs前天 12:46
- 回复lifei1234567890101n这就是啥?
- 1楼start5303天前 09:08
- 木头,你妹纸的。不够这个已经够用了。
- Re: musicvs3天前 09:15
- 回复start530n昨天特意为你提前写了这篇教程~哈哈,是不是很感动~