Cocos2dx学习笔记11:cocos2dx调度器(scheduler)

Cocos2dx学习笔记11:cocos2dx调度器(scheduler),第1张

概述调度器(scheduler)是主要是为游戏提供定时事件和定时服务。常常用来游戏的一些定时处理的功能,例如一些逻辑判断,碰撞检测等。 Cocos2dx提供了三种常用的调度器(scheduler)来让我们使用。 默认调度器(schedulerUpdate) 默认调度器使用Node的刷新事件update方法,该方法在每帧绘制之前都会被调用一次。由于每帧之间时间间隔较短,所以每帧刷新一次已足够完成大部分游

调度器(scheduler)是主要是为游戏提供定时事件和定时服务。常常用来游戏的一些定时处理的功能,例如一些逻辑判断,碰撞检测等。


Cocos2dx提供了三种常用的调度器(scheduler)来让我们使用。

默认调度器(schedulerUpdate)

默认调度器使用Node的刷新事件update方法,该方法在每帧绘制之前都会被调用一次。由于每帧之间时间间隔较短,所以每帧刷新一次已足够完成大部分游戏过程中需要的逻辑判断。


我们在使用默认调度器(schedulerUpdate)时候,需要重载Nodeupdate方法来执行自己的逻辑代码。如果需要停止这个调度器,可以使用unschedulerUpdate()方法。


使用时候首先在.h文件里重写update方法:voID update(float dt) 。

在调用的地方直接使用scheduleUpdate()方法调用update的实现。

自定义调度器(scheduler)

有时候引擎自带的调度器并不适合我们的需要,所以需要自己定义调度器。而cocos2dx则提供了此方法。

schedule(SEL_SCHEDulE selector,float interval,unsigned int repeat,float delay)

第一个参数selector即为你要添加的事件函数。

第二个参数interval为事件触发时间间隔。

第三个参数repeat为触发一次事件后还会触发的次数,默认值为kRepeatForever,表示无限触发次数。

第四个参数delay表示第一次触发之前的延时。

单次调度器(schedulerOnce)

Cocos2d-x同样提供了单次调度器,只进行一次调度。

scheduleOnce(schedule_selector(HelloWorld::updateOnce),0.1f);



这里我用LaberTTF来实现一个数字每次+1自增长的默认调度器,来动态改变LabelTTF的值。

650) this.width=650;" title="点击查看原图" border="0" alt="学习笔记11:图1.gif" src="http://img.jb51.cc/vcimg/static/loading.png" width="607" height="577" src="http://www.byjth.com/content/uploadfile/201509/7d151442560270.gif">


Cocos2dx学习笔记11:cocos2dx调度器(scheduler)

http://www.byjth.com/biji/31.html

总结

以上是内存溢出为你收集整理的Cocos2dx学习笔记11:cocos2dx调度器(scheduler)全部内容,希望文章能够帮你解决Cocos2dx学习笔记11:cocos2dx调度器(scheduler)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1078831.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存