我知道我的问题听起来很愚蠢,但我是 Lua 新手,所以我正在尽力做出最佳实践。
function wait(n)
local start = os.time()
repeat until os.time() > start + n
end
function hi(x)
while x do
print("Hi")
wait(.5)
end
end
hi(true)
例如,我想在运行6秒后关闭“hi”功能,并在停止2秒后重新启用它,该怎么办?非常感谢!
尝试这个改变...
function wait(n)
local start = os.clock()
repeat until os.clock() > start + n
end
function hi(x)
for i = 1, x do
print("Hi")
wait(.5)
end
end
hi(4) -- With the hardcoded wait(.5) this will end after 2s
一个警告。
Lua 速度很快,因此 wait() 将以高性能模式运行。
让它以 hi(120) 运行一分钟,您的风扇也会以高冷却模式运行。
...最好有一个对 CPU 更友好的等待/睡眠。
使用 LuaJIT 轻松搞定:https://luajit.org/ext_ffi_tutorial.html
给你:)
function wait(s)
local lastvar
for i=1, s do
lastvar = os.time()
while lastvar == os.time() do
end
end
结束