在引擎根目錄/cocos/scripting/lua-bindings/manual
的lua_cocos2dx_manual.cpp
文件中定義了scheduleScriptFunc
和unscheduleScriptEntry
兩個(gè)函數(shù),分別用來初始化和刪除定時(shí)器
初始化定時(shí)器
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
的三個(gè)參數(shù)分別是:
callback
回調(diào)函數(shù)猎醇,設(shè)定的時(shí)間 調(diào)用的函數(shù)(比如每隔一秒刷新一次時(shí)間跌榔,或者一秒后結(jié)束調(diào)度)
delay
每次調(diào)用回調(diào)函數(shù)的時(shí)間間隔
pause
是否暫停垢揩,一般設(shè)為false就行六荒,否則定時(shí)器停住不執(zhí)行
刪除定時(shí)器
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
的返回值是一個(gè)定時(shí)器憑據(jù)舔箭,該憑據(jù)用于在需要?jiǎng)h除對應(yīng)的定時(shí)器時(shí)傳入作為參數(shù)啊央,刪除定時(shí)器的方法是unscheduleScriptEntry()