在 Cocos2d-x Lua 中,可以通过两种方式注册定时器。第一种是让调度器每帧调用一次指定函数。

    local i=0

    local function update()
        i=i+1
        if i>10 then
            layer:unscheduleUpdate()
        end
        print("update")
    end

    layer:scheduleUpdateWithPriorityLua(update,0) --0为优先级

第二种方式是通过全局的 Scheduler 注册一个脚本回调,可以自行指定调用间隔。

local function tick()

       end

       cc.Director:getInstance():getScheduler():scheduleScriptFunc(tick, 0, false)