【问题标题】:LuaJ (or any other Java LUA interpreters) - Can you call a LUA script from Java without waiting for it to return?LuaJ(或任何其他 Java LUA 解释器) - 您可以从 Java 调用 LUA 脚本而不等待它返回吗?
【发布时间】:2014-08-14 16:25:54
【问题描述】:

我一直在为 Android 编写一个 RPG 游戏引擎,并且我认为我需要为我的战斗引擎添加一种脚本语言。它太复杂了,无法通过 XML 配置来驱动游戏内容,就像我之前所做的那样。 LUA 似乎是游戏开发社区选择的脚本语言,所以我一直在做一些研究。由于引擎是用 Java 编写的,我正在考虑使用 LuaJ 作为我的 LUA 解释器,因为我发现一些旧线程表明它可能是最好的 Java LUA 解释器,但如果有人对更好的解释器有更当前的意见,我都在听。

无论如何,我需要能够从 Java 调用 LUA 脚本,并继续游戏线程执行,而无需等待脚本返回。这对 LuaJ 或任何其他流行的基于 Java 的解释器是否可行?我知道我总是可以将脚本调用放在它自己的线程中,但我可能会同时激活许多脚本,这是一种浪费,因为我不需要返回值。

【问题讨论】:

  • 请注意,Lua 不是首字母缩写词。

标签: java lua luaj


【解决方案1】:

如果你想让任何东西与你的游戏线程并行运行,你必须把它放在它自己的线程中。

如果您不想为每个调用启动一个线程,您可以使用某种 Executor(http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executor.html,例如 ThreadPoolExecutor)。

像这样:https://stackoverflow.com/a/14286452/3759173

【讨论】:

    猜你喜欢
    • 2019-10-12
    • 2015-02-19
    • 2013-03-16
    • 2016-07-24
    • 2012-06-30
    • 1970-01-01
    • 2016-05-25
    • 1970-01-01
    • 2014-03-10
    相关资源
    最近更新 更多