TimerManager
定时器
提供各类定时器和延迟调用方法函数列表
AddTimer
-
描述: 添加定时器
-
范围: 服务端、客户端
-
警告: 一次性定时器,运行一次后会被自动销毁
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Delay | number | 延时秒数 |
| Callback | function() | 延时到达后会调用此回调函数 |
| Args | … | 可变参数,这些参数会一起传递到回调函数 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| timerId | number | 定时器id |
TimerManager:AddTimer( 3.0, function() Log:PrintLog("一次性定时器") end)AddLoopTimer
-
描述: 添加循环定时器
-
范围: 服务端、客户端
-
警告: 循环多次调用
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Delay | number | 间隔秒数 |
| Callback | function() | 间隔时间到达后会调用此回调函数 |
| Args | … | 可变参数,这些参数会一起传递到回调函数 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| timerId | number | 定时器id |
local timerId = TimerManager:AddLoopTimer( 1.5, function() Log:PrintLog("循环定时器") end)AddFrame
-
描述: 添加帧定时器
-
范围: 服务端、客户端
-
警告: 一次性定时器,运行一次后会被自动销毁
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Delay | number | 延时的帧数 |
| Callback | function() | 延时帧数到达后会调用此回调函数 |
| Args | … | 可变参数,这些参数会一起传递到回调函数 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| timerId | number | 定时器id |
TimerManager:AddFrame( 5, function() Log:PrintLog("5帧后会运行这里") end)AddLoopFrame
-
描述: 添加循环帧定时器
-
范围: 服务端、客户端
-
警告: 循环多次调用
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Delay | number | 间隔帧数 |
| Callback | function() | 间隔帧数到达后会调用此回调函数 |
| Args | … | 可变参数,这些参数会一起传递到回调函数 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| timerId | number | 定时器id |
local timerId = TimerManager:AddLoopFrame( 5, function() Log:PrintLog("每隔5帧运行到这里") end)RemoveTimer
-
描述: 删除定时器
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| TimerId | number | 添加定时器时返回的定时器id |
local timerId = TimerManager:AddLoopTimer( 1.5, function() Log:PrintLog("LoopTimer") end)TimerManager:RemoveTimer(timerId) --删除循环定时器PauseTimer
-
描述: 暂停定时器
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| TimerId | number | 添加定时器时返回的定时器id |
local timerId = TimerManager:AddLoopTimer( 1.5, function() Log:PrintLog("LoopTimer") end)TimerManager:PauseTimer(timerId) --暂停定时器ResumeTimer
-
描述: 恢复定时器
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| TimerId | number | 添加定时器时返回的定时器id |
local timerId = TimerManager:AddLoopTimer( 1.5, function() Log:PrintLog("LoopTimer") end)TimerManager:PauseTimer(timerId)TimerManager:ResumeTimer(timerId) --恢复定时器GetTimeSeconds
-
描述: 获取当前的时间
-
范围: 服务端、客户端
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| time | number | 游戏启动至当前的时间 |
Log:PrintLog("游戏已经启动", TimerManager:GetTimeSeconds(), "秒")GetClock
-
描述: 获取当前CPU时间
-
范围: 服务端、客户端
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| clock | number | CPU 时间 |
Log:PrintLog("游戏已经启动", TimerManager:GetClock(), "秒")GetTimerLeft
-
描述: 获取定时器剩下的时间|帧数
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| TimerId | number | 添加定时器时返回的定时器id |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| left | number | 定时器剩下的时间|帧数 |
local left = TimerManager:GetTimerLeft(timerId)RestartTimer
-
描述: 重启定时器,Remove或已经执行完成之后的定时器无法重新启动
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| TimerId | number | 要重启的定时器Id |
| Delay | number | 可选,新的延时|帧数,不填则使用原有延时|帧数 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| timerId | number | 新的定时器Id |
local timer1 = TimerManager:AddTimer(10, function() Log:PrintLog("zzzzzzzzzzzzzzzzz 1", TimerManager:GetTimeSeconds())end)local timer2 = TimerManager:AddFrame(100, function() Log:PrintLog("zzzzzzzzzzzzzzzzz 2", TimerManager:GetTimeSeconds())end)timer1 = TimerManager:RestartTimer(timer1, 1)timer2 = TimerManager:RestartTimer(timer2, 50)