这个小节主要介绍下雪月Lua框架xLua.module.Timer 文件夹

xLua.module.Timer 模块主要用于创建和管理计时器(Timers)。计时器在魔兽地图制作中非常常见,用于在特定时间间隔执行某些操作,例如刷兵、动画、状态更新、冷却时间等。

主要方法

  1. new()

    • 功能: 创建一个新的计时器对象。
    • 返回值: 计时器对象 (timer 类型)。
  2. start(interval, callback, repeat)

    • 功能: 启动计时器。
    • 参数:

      • interval (number): 计时器间隔时间(秒)。
      • callback (function): 计时器触发时执行的回调函数。
      • repeat (boolean, 可选): 是否重复执行,默认为 false
    • 返回值: 无。
  3. stop()

    • 功能: 停止计时器。
    • 参数: 无。
    • 返回值: 无。
  4. pause()

    • 功能: 暂停计时器。
    • 参数: 无。
    • 返回值: 无。
  5. resume()

    • 功能: 恢复计时器。
    • 参数: 无。
    • 返回值: 无。
  6. del()

    • 功能: 删除计时器,释放相关资源。
    • 参数: 无。
    • 返回值: 无。

使用案例

下面是一个具体的案例,展示了如何使用 xLua.module.Timer 模块创建、启动、停止和删除计时器。

案例:创建一个每秒打印一次消息的计时器

-- 引入 Timer 模块
local timer = require "xLua.module.Timer"

-- 创建一个新的计时器
local myTimer = timer:loop(2, function()
    print("计时器触发了!当前时间: " .. os.date("%H:%M:%S", os.time()))
end)