定时器scheduler

来源:互联网 发布:淘宝怎样上传数据包 编辑:程序博客网 时间:2024/06/14 04:04
--自定义定时器
local function updateLeftTime(f)
    --实现内容
end


local schedule_updateLeftTime = nil
local scheduler = cc.Director:getInstance():getScheduler()  --
schedule_updateLeftTime = scheduler:scheduleScriptFunc(updateLeftTime, 1.0, false) --时间调度器


local function onNodeEvent(event)  --退出事件停止调用定时器
    --有五个状态 enter、enterTransitionFinish、exit、exitTransitionStart、cleanup
    if event == "exitTransitionStart" then
        if schedule_updateLeftTime then  
            scheduler:unscheduleScriptEntry(schedule_updateLeftTime)  
            schedule_updateLeftTime = nil
        end
    end
end
--创建退出时候监听 某个节点退出
node:registerScriptHandler(onNodeEvent) 
updateLeftTime(0)


--默认定时器
local function update(delta)
    local x,y = label:getPosition()
    label:setPosition(cc.p(x + 2, y - 2))
end


--开始游戏调度
layer:scheduleUpdateWithPriorityLua(update, 0)


function onNodeEvent(tag)
    if tag == "exit" then
        --开始游戏调度
        layer:unscheduleUpdate()
    end
end
layer:registerScriptHandler(onNodeEvent)
原创粉丝点击