我在实例里只发现了两种定时器
scheduler:scheduleScriptFunc(step1, 0, false)应该是指定时间内执行step1方法吧,false应该是一直执行不暂停执行吧,如果设置为true的话,会是什么效果,是不是执行一遍后就暂停执行呢,如果想恢复执行的话怎么办呢?
scheduleUpdateWithPriorityLua(update, 0)这个方法是指定时间执行update方法吧
在C++的引擎里有一个只执行一次scheduleOnce对于的lua方法是哪个
要想只执行一次, 把scheduler:scheduleScriptFunc(step1, 0, false) 最后一个参数改成true就行了!
scheduler:scheduleScriptFunc(step1, 0, true) 发现不执行
改成false会不停的执行,有人碰到过吗
— Begin quote from ____
引用第2楼yxriyin于2014-05-13 17:17发表的 :
scheduler:scheduleScriptFunc(step1, 0, true) 发现不执行
改成false会不停的执行,有人碰到过吗 http://www.cocoachina.com/bbs/job.php?action=topost&tid=199259&pid=950754
— End quote
true表示暂停,所以就不执行了
你在定时器的回调里面关掉吧
local timer = 0
self.ScriptFuncId = CCDirector:sharedDirector():getScheduler():scheduleScriptFunc(
function (event)
timer = timer + event
if timer >= 3 then
--关闭定时器
CCDirector:sharedDirector():getScheduler():unscheduleScriptEntry(self.ScriptFuncId)
--做一些处理
end
end,
0,
false
)