这篇博客介绍下Cocos2d-x的定时器。
一.首先问一个问题,什么是定时器?定时器是干什么用的?
简单来说,如果你想不断去执行某个函数,或者每隔一段时间去执行一次某函数,甚至只执行一次,这时,我们就会用到定时器。比如在游戏开发中每隔一段时间要刷新一些数据,或者要随时间的变化而做一些逻辑判断时,就常常用到定时器。
定时器就是指定时间间隔调用指定的函数,去完成特定的功能。
Cocos2d-x定时器为游戏提供定时事件和定时调用服务。所有的Node对象都知道如何调度和取消调度对象,所以也有人管定时器叫调度器。
二.使用定时器有以下几个好处:
1.每当Node不再可见或已从场景中移除时,定时器会停止。Cocos2d-x暂停时,定时器也会停止,比如Node被删除或setVisible(false)时与其绑定的定时器会被停止,使用Director的Pause()方法暂停游戏时定时器也会被停止掉;
2.当Cocos2d-x重新开始时,定时器也会自动继续启动,如执行Director的Resume()方法时;
3.Cocos2d-x封装了一个供各种不同平台使用的定时器,就是说cocos的定时器是跨平台的。
三.Cocos2d-x调度器分3种:
默认调度器:scheduleUpdate()
自定义调度器:schedule()