printDebug("===============start debug===================")
local direction = cc.Director:getInstance()
local defSch = direction:getScheduler()
local sched1 = cc.Scheduler:new()
sched1:retain()
defSch:scheduleScriptFunc(handler(sched1, sched1.update), 0, false)
local actionManager1 = cc.ActionManager:new()
actionManager1:retain()
-- sched1->scheduleUpdateForTarget(actionManager1, 0, false)
local updateCbkHandle = sched1:scheduleScriptFunc(handler(actionManager1, actionManager1.update), 0, false)
local effLayer = viewMgr:getEffectLayer()
local size = effLayer:getContentSize()
local widget = ccui.Layout:create()
widget:setBackGroundColorType(1)
widget:setBackGroundColor(cc.c3b(255, 0, 0))
widget:setContentSize(100, 100)
widget:align(cc.p(0.5, 0.5), 0, size.height*0.5)
effLayer:addChild(widget, 999)
widget:setActionManager(actionManager1)
local layer2 = cc.LayerColor:create(cc.c3b(0, 255, 0), 100, 100)
layer2:setPosition(cc.p(0, size.height*0.5-300))
effLayer:addChild(layer2)
layer2:setActionManager(actionManager1)
layer2:runAction(cc.MoveBy:create(5, cc.p(500, 0)))
widget:runAction(cc.MoveBy:create(5, cc.p(500, 0)))
local layerTouch = cc.LayerColor:create(cc.c3b(0, 255, 0), 100, 100)
layerTouch:setPosition(cc.p(0, 0))
effLayer:addChild(layerTouch)
layerTouch:setTouchEnabled(true)
layerTouch:onTouch(function(event)
if event.name ~= "began" then return end
sched1:setTimeScale(30)
end)
--回收定时器
if sched1 ~= nil then
sched1:release()
sched1 = nil
end
if actionManager1 ~= nil then
actionManager1:release()
actionManager1 = nil
end
if updateCbkHandle ~= nil then
local direction = cc.Director:getInstance():getScheduler()
direction:unscheduleScriptEntry(updateCbkHandle)
updateCbkHandle = nil
end
printDebug("===============ended debug===================")