在引擎根目录/cocos/scripting/lua-bindings/manual
的lua_cocos2dx_manual.cpp
文件中定义了scheduleScriptFunc
和unscheduleScriptEntry
两个函数,分别用来初始化和删除定时器
初始化定时器
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()