Quick中调度器(定时器)按是否会随节点销毁,可分为全局调度器和节点调度器,
如果使用全局帧调度器需要手动载入scheduler模块,该模块不会自动载入
local scheduler = require(cc.PACKAGE_NAME .. ".scheduler")
调度器启动和停止示例如下:
--1.全局帧调度器
local function frameCallback(dt)
print(dt)
end
local s1 = scheduler.scheduleUpdateGlobal(frameCallback)
scheduler.unscheduleGlobal(s1)
--2.全局自定义调度器
local function schduleCallback(dt)
print(dt)
end
local s2 = scheduler.scheduleGlobal(schduleCallback,0.5)
scheduler.unscheduleGlobal(s2)
--3.全局单次延时调度器
local function schduleOnceCallback(dt)
print("called once")
end
scheduler.performWithDelayGlobal(schduleOnceCallback,0.5)
--4.节点自定义调度器
local yelloStar = display.newSprite("a1.png")
yelloStar:setPosition(480,320)
yelloStar:addTo(self)
local function yellowStarCB()
local actMoveBy = cc.MoveBy:create(0.5,cc.p(20,0))
yelloStar:runAction(actMoveBy)
end
yelloStar:schedule(yellowStarCB,0.2)
yelloStar:stopAllActions()
--5.节点单次延时调度器
yelloStar:performWithDelay(yellowStarCB,1.0)
注意Quick中停止调度器的方式,要在启动调度器时保留返回值,然后传给停止调度器的接口,节点调度器停止时使用stopAllActions()