自定义定时器的实现

2021-04-05  本文已影响0人  凉夜lrs

Cocos2d-x自带的定时器

引擎自带的定时器主要有两种接口:

--参数是调用函数和优先级
void scheduleUpdateWithPriorityLua (int nHandler, int priority)  
--参数一:刷新函数
--参数二:每次刷新的时间间隔
--参数三:是否只执行一次。false为无限次。
void scheduleScriptFunc((update, inteval, false))

无论是哪种定时器,最后都要使用scheduler.unscheduleGlobal(timer)停止掉。参数是上两个函数的返回值。

问题

解决方案

不难发现,scheduleScriptFunc只是在不断执行update函数,而inteval可以自定义,这样就可以用一个Cocos2d-x的定时器实现多个定时需求。

实现自己的定时器

源码地址

https://gitee.com/cool-night/quick-cocos2d-x

优化点

间隔1s的定时器和间隔1天的定时器的scheduleScriptFunc的inteval参数一样,这显然是很不合理的,在下个版本将对定时器进行分类。

上一篇下一篇

猜你喜欢

热点阅读