cocos lua中定时器scheduler的使用

【Cocos2dx 3.3 Lua】定时器事件

Cocos2dx 3.x Lua 中使用定时器有两种方式:

 (1)self:scheduleUpdateWithPriorityLua(update, priority)

   > 参数一:刷新函数

        > 参数二:刷新优先级

        其中 self 为 Node类 的子类。

        该方法默认为每帧都刷新一次,无法自定义刷新时间间隔。

 (2)scheduler:scheduleScriptFunc(update, inteval, false)

  > 参数一:刷新函数

        > 参数二:每次刷新的时间间隔

        > 参数三:是否只执行一次。false为无限次。

        其中 scheduler 为定时器管理:cc.Director:getInstance():getScheduler()

  推荐使用第二种方式,因为比较通用。

local scheduler = cc.Director:getInstance():getScheduler()
local schedulerID = nil

local function update(dt)
    print(dt)
    --关闭定时器
    scheduler:unscheduleScriptEntry(schedulerID) 
  self.schedulerID = nil
end --每隔1秒执行一次update函数,false 是无限,true 只执行一次, self.schedulerID = scheduler:scheduleScriptFunc(update,1,false)

我把参数设为true,不知道为啥,好像不能调用update函数,这个地方的功能就是延迟一秒运行update函数,

 

posted @ 2020-04-10 22:55  gao1996  阅读(1013)  评论(0)    收藏  举报