Cocos2dx学习笔记11:cocos2dx调度器(scheduler)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cocos2dx学习笔记11:cocos2dx调度器(scheduler)相关的知识,希望对你有一定的参考价值。
调度器(scheduler)是主要是为游戏提供定时事件和定时服务。常常用来游戏的一些定时处理的功能,例如一些逻辑判断,碰撞检测等。
Cocos2dx提供了三种常用的调度器(scheduler)来让我们使用。
默认调度器(schedulerUpdate)
默认调度器使用Node的刷新事件update方法,该方法在每帧绘制之前都会被调用一次。由于每帧之间时间间隔较短,所以每帧刷新一次已足够完成大部分游戏过程中需要的逻辑判断。
我们在使用默认调度器(schedulerUpdate)时候,需要重载Node的update方法来执行自己的逻辑代码。如果需要停止这个调度器,可以使用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的值。
Cocos2dx学习笔记11:cocos2dx调度器(scheduler)
http://www.byjth.com/biji/31.html
本文出自 “闭眼就天黑” 博客,请务必保留此出处http://byjth.blog.51cto.com/4127898/1758983
以上是关于Cocos2dx学习笔记11:cocos2dx调度器(scheduler)的主要内容,如果未能解决你的问题,请参考以下文章
Cocos2dx学习笔记12:cocos2dx进度条(ProgressTimer)
cocos2dx游戏开发学习笔记2-从helloworld開始
cocos2dx3.2 学习笔记--ActionManagerTest