Don*_*ker 14 lua sleep timer wait
我正在尝试通过改变一天中的时间为游戏制作一个简单的脚本,但我想以快速的方式进行.所以这就是我所说的:
function disco ( hour, minute)
setTime ( 1, 0 )
SLEEP
setTime ( 2, 0 )
SLEEP
setTime ( 3, 0 )
end
Run Code Online (Sandbox Code Playgroud)
等等.我该怎么做呢?
Yu *_*Hao 21
Lua不提供标准sleep功能,但有几种方法可以实现,有关详细信息,请参阅睡眠功能.
对于Linux,这可能是最简单的一个:
function sleep(n)
os.execute("sleep " .. tonumber(n))
end
Run Code Online (Sandbox Code Playgroud)
在Windows中,您可以使用ping:
function sleep(n)
if n > 0 then os.execute("ping -n " .. tonumber(n+1) .. " localhost > NUL") end
end
Run Code Online (Sandbox Code Playgroud)
使用的那个select值得注意,因为它是获得亚秒级分辨率的唯一可移植方式:
require "socket"
function sleep(sec)
socket.select(nil, nil, sec)
end
sleep(0.2)
Run Code Online (Sandbox Code Playgroud)
如果你安装了 luasocket:
local socket = require 'socket'
socket.sleep(0.2)
Run Code Online (Sandbox Code Playgroud)
这个自制函数的精度低至十分之一秒或更小。
function sleep (a)
local sec = tonumber(os.clock() + a);
while (os.clock() < sec) do
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71743 次 |
| 最近记录: |