设置超时获取用户输入。

我正在尝试创建一个脚本,提示用户并等待他们按下表示答案的键,或者如果在一定时间内没有按下键,则选择默认选项。

不幸的是,我正在一个嵌入了lua的环境中做这个,所以我不能添加库或修改源码。同时,io.read会阻塞直到用户按下回车键,而io.popen不可用。

这是否可能做到呢?

P.S. 我需要这个功能用于一个游戏,在游戏中某些事情会随着时间推移而逐步进行,您需要在没有思考的时间内决定何时采取行动。如果您能想到另一种方法,请告诉我。

点赞
用户501459
用户501459

等待用户按下键盘的输入,我不能添加类库或修改源代码。io.read函数会一直等待用户按下回车键后才会继续执行。这种情况是否有可能实现?

不可能。Lua的IO类库是基于C语言的IO类库,都是基于流的。没有办法检测按键。因此,如果不通过原生代码扩展Lua(如您所述,您无法这样做),则不可能实现。

2012-06-25 18:09:07