0

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

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

4

1 回答 1

0

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

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

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

于 2014-06-24T12:12:44.207 回答