如何实现LuaJ暂停?

时间:2017-01-02 18:27:26

标签: java game-engine luaj

我开发游戏引擎,并希望游戏处理lua文件。

目前我正在使用我编写的自定义脚本语言将每个命令存储在游戏可以执行的列表中。我的脚本语言在这一点上非常原始,这就是我想切换到Lua的原因,但我不确定如何继续。

以下是我正在尝试做的一个例子:

engine.message("Text")     // Pause until player clicks a button
engine.message("Text2")    // Pause until player clicks a button
chosenValue = engine.choose("Option1|Option2")  // Wait for player to choose, then assign value
if(chosenValue="Option1") then
  engine.message("One")    // Pause until player clicks a button
else
  engine.message("Two")    // Pause until player clicks a button
end

1 个答案:

答案 0 :(得分:0)

我通过在另一个线程上运行Lua并使用Semaphore在脚本启动时获得1个许可来解决它。当我想暂停时,我从Lua线程请求许可证暂停整个事情,当用户点击按钮时我会释放许可证