Cocos2d-x Lua 定时器(Scheduler)

在引擎根目录/cocos/scripting/lua-bindings/manuallua_cocos2dx_manual.cpp文件中定义了scheduleScriptFuncunscheduleScriptEntry两个函数,分别用来初始化和删除定时器

初始化定时器

self.callback_entry = self.callback_entry or 0;
if self.callback_entry == 0 then
    self.callback_entry = cc.Director:getInstance():getScheduler():scheduleScriptFunc(handler(self, self.update),1/60.0,false)
end

function ClassName:update(dt)
    print("输出callback")
end

其中scheduleScriptFunc的三个参数分别是:

callback回调函数,设定的时间 调用的函数(比如每隔一秒刷新一次时间,或者一秒后结束调度)
delay每次调用回调函数的时间间隔
pause是否暂停,一般设为false就行,否则定时器停住不执行

删除定时器

self.callback_entry = self.callback_entry or 0;
if self.callback_entry > 0 then
    cc.Director:getInstance():getScheduler():unscheduleScriptEntry(self.callback_entry)
    self.callback_entry = 0
end

scheduleScriptFunc的返回值是一个定时器凭据,该凭据用于在需要删除对应的定时器时传入作为参数,删除定时器的方法是unscheduleScriptEntry()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容