You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Lua中实现到达指定数值后自动停止的正计时定时器

Lua正计时到指定值自动停止的修改方法

你当前的代码用的是while 1死循环,没有设置退出条件,所以会一直运行。只需要增加目标计时值的判断即可实现到点停止,同时可以优化下原代码的稳定性,避免因为系统调度卡顿导致计时失效。

完整修改后代码

-- 设定你要停止的计时数值,需要改50/100直接修改这个变量即可
local target = 50
startTime = os.time()
count = 1
-- 循环条件改为count不超过目标值
while count <= target do
        if os.difftime(os.time(), startTime) >= 1 then
                print (count)
                count = count + 1
                startTime = os.time()
        end
end
print("计时结束,已到达设定值"..target)

修改说明

  • 新增target变量作为计时停止的阈值,调整数值即可切换50秒、100秒等不同的停止规则
  • 将原死循环while 1的条件改为while count <= target,计数超过目标值后循环会自动终止,程序停止
  • 将原判断os.difftime(...) == 1改为>= 1,避免系统卡顿跳过1秒的时间节点后,计时器再也无法进入计数逻辑的问题

内容的提问来源于stack exchange,提问作者Marco Niebuhr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 12:54:06