跳转到内容

TimerManager

定时器

提供各类定时器和延迟调用方法

函数列表

AddTimer

  • 描述: 添加定时器

  • 范围: 服务端、客户端

  • 警告: 一次性定时器,运行一次后会被自动销毁

参数列表:

参数类型说明
Delaynumber延时秒数
Callbackfunction()延时到达后会调用此回调函数
Args可变参数,这些参数会一起传递到回调函数

返回字段:

返回字段字段类型说明
timerIdnumber定时器id
TimerManager:AddTimer(
3.0,
function()
Log:PrintLog("一次性定时器")
end
)

AddLoopTimer

  • 描述: 添加循环定时器

  • 范围: 服务端、客户端

  • 警告: 循环多次调用

参数列表:

参数类型说明
Delaynumber间隔秒数
Callbackfunction()间隔时间到达后会调用此回调函数
Args可变参数,这些参数会一起传递到回调函数

返回字段:

返回字段字段类型说明
timerIdnumber定时器id
local timerId = TimerManager:AddLoopTimer(
1.5,
function()
Log:PrintLog("循环定时器")
end
)

AddFrame

  • 描述: 添加帧定时器

  • 范围: 服务端、客户端

  • 警告: 一次性定时器,运行一次后会被自动销毁

参数列表:

参数类型说明
Delaynumber延时的帧数
Callbackfunction()延时帧数到达后会调用此回调函数
Args可变参数,这些参数会一起传递到回调函数

返回字段:

返回字段字段类型说明
timerIdnumber定时器id
TimerManager:AddFrame(
5,
function()
Log:PrintLog("5帧后会运行这里")
end
)

AddLoopFrame

  • 描述: 添加循环帧定时器

  • 范围: 服务端、客户端

  • 警告: 循环多次调用

参数列表:

参数类型说明
Delaynumber间隔帧数
Callbackfunction()间隔帧数到达后会调用此回调函数
Args可变参数,这些参数会一起传递到回调函数

返回字段:

返回字段字段类型说明
timerIdnumber定时器id
local timerId = TimerManager:AddLoopFrame(
5,
function()
Log:PrintLog("每隔5帧运行到这里")
end
)

RemoveTimer

  • 描述: 删除定时器

  • 范围: 服务端、客户端

参数列表:

参数类型说明
TimerIdnumber添加定时器时返回的定时器id
local timerId = TimerManager:AddLoopTimer(
1.5,
function()
Log:PrintLog("LoopTimer")
end
)
TimerManager:RemoveTimer(timerId) --删除循环定时器

PauseTimer

  • 描述: 暂停定时器

  • 范围: 服务端、客户端

参数列表:

参数类型说明
TimerIdnumber添加定时器时返回的定时器id
local timerId = TimerManager:AddLoopTimer(
1.5,
function()
Log:PrintLog("LoopTimer")
end
)
TimerManager:PauseTimer(timerId) --暂停定时器

ResumeTimer

  • 描述: 恢复定时器

  • 范围: 服务端、客户端

参数列表:

参数类型说明
TimerIdnumber添加定时器时返回的定时器id
local timerId = TimerManager:AddLoopTimer(
1.5,
function()
Log:PrintLog("LoopTimer")
end
)
TimerManager:PauseTimer(timerId)
TimerManager:ResumeTimer(timerId) --恢复定时器

GetTimeSeconds

  • 描述: 获取当前的时间

  • 范围: 服务端、客户端

返回字段:

返回字段字段类型说明
timenumber游戏启动至当前的时间
Log:PrintLog("游戏已经启动", TimerManager:GetTimeSeconds(), "")

GetClock

  • 描述: 获取当前CPU时间

  • 范围: 服务端、客户端

返回字段:

返回字段字段类型说明
clocknumberCPU 时间
Log:PrintLog("游戏已经启动", TimerManager:GetClock(), "")

GetTimerLeft

  • 描述: 获取定时器剩下的时间|帧数

  • 范围: 服务端、客户端

参数列表:

参数类型说明
TimerIdnumber添加定时器时返回的定时器id

返回字段:

返回字段字段类型说明
leftnumber定时器剩下的时间|帧数
local left = TimerManager:GetTimerLeft(timerId)

RestartTimer

  • 描述: 重启定时器,Remove或已经执行完成之后的定时器无法重新启动

  • 范围: 服务端、客户端

参数列表:

参数类型说明
TimerIdnumber要重启的定时器Id
Delaynumber可选,新的延时|帧数,不填则使用原有延时|帧数

返回字段:

返回字段字段类型说明
timerIdnumber新的定时器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)