cocos2d-lua 中的调度器分为以下两种:
1、全局调度器:
cocos2d-lua框架默认不加载全局调度器模块。需要手动加载
local scheduler = require(cc.PACKAGE_NAME..".scheduler")
全局调度器模块分为三个
(1)全局帧调度器:scheduleUpdateGlobal(listener)
例:
local scheduler = require(cc.PACKAGE_NAME..".scheduler")
local function onInterval(dt)
print("update")
end
scheduler.scheduleUpdateGlobal(onInterval)
(2) 全局自定义调度器:scheduleGlobal(listener,interval)
local scheduler = require(cc.PACKAGE_NAME..".scheduler")
local function onInterval(dt)
print("Custom")
end
scheduler.scheduleGlobal(onInterval,0.5) --区别在于全局自定义调度器可以自己设置时间间隔,但必须大于1/60 s
(3)全局延时调度器:performWithDelayGlobal(listener,time)
单次的延时调用
local scheduler = require(cc.PACKAGE_NAME..".scheduler")
local function onInterval( dt )
print("once")
end
scheduler.performWithDelay(onInterval, 0.5)
2、节点调度器
(1)节点帧调度器。现已归类到节点帧事件,参考事件分发机制
(2)节点自定义调度器
local action = node:schedule(function ()
print("schedule")
end,1.0)
事实上,schedule函数内部是用动作系统来实现的,所以停止节点调度器可以使用:
停止节点调度器,node:stopAction(action)
(3)节点延时调度器
node:performWithDelay(function ()
print("performWithDelay")
end, 1.0)
停止的方法依然是用stopAction
本文介绍了cocos2d-lua中的调度器,包括全局调度器的帧调度器、自定义调度器和延时调度器,以及节点调度器的帧调度器、自定义调度器和延时调度器,详细阐述了各个调度器的使用方法和停止方式。
2550

被折叠的 条评论
为什么被折叠?



