cocos2d-x定时器

笨木头花心贡献,啥?花心?不呢,是用心~

转载请注明,原文地址
http://blog.csdn.net/musicvs/article/details/8551066

正文:

 

 

1. 不调用update函数,调用自己的函数

其实原理是一样的,我们调用scheduleUpdate的时候,系统默认每帧去调用update函数,但如果我们想调用自己的函数呢?很简单,先给HelloWorldScene添加一个函数:

  1. private:  
  2.     /* 自定义的update函数 */  
  3.     void MutUpdate(float fDelta);  


 

同样在函数里打日志:

  1. void HelloWorld::MutUpdate( float fDelta )  
  2. {  
  3.     CCLOG("MutUpdate");  
  4. }  


 

然后我们要添加一句很暴力的代码:

  1. bool HelloWorld::init()  
  2. {  
  3.     bool bRet = false;  
  4.     do   
  5.     {  
  6.         CC_BREAK_IF(! CCLayer::init());  
  7.   
  8.         //this->scheduleUpdate();   
  9.   
  10.         /* 指定每帧执行自定义的函数 */  
  11.         this->schedule(schedule_selector(HelloWorld::MutUpdate));  
  12.         bRet = true;  
  13.     } while (0);  
  14.   
  15.     return bRet;  
  16. }  


 

我们使用schedule指定了一个自定义的函数,然后我们用调试模式运行项目,将看到以下输出:

MutUpdate

MutUpdate

MutUpdate

MutUpdate

MutUpdate

MutUpdate

MutUpdate

MutUpdate

我想,没有什么可以解释的,就是指定了一个回调函数。

(小若:其实他不懂。)

 

2. 真正的定时

好喇,我们要真正创建一个定时器了,我们修改一下schedule的参数就可以了:

  1. this->schedule(schedule_selector(HelloWorld::MutUpdate), 1.0f);  


 

第二个参数的意思是,每隔多少秒执行一次MutUpdate函数,记住,单位是秒。

 

还有一个更厉害的定时器,我忍不住要给大家介绍了!

(小若:好棒!)

 

 

请听下节分解。

(小若:你妹纸的!)

 

停止定时器        

this->unschedule(schedule_selector(HelloWorld::MutUpdate)); 

 

如果是要取消默认的update函数调用,也很简单:

this->unscheduleUpdate();  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值