0

所以,我刚刚意识到 Java 有一个内置的 API 系统,它可以与 JavaScript 以及其他符合 JSR-223 的脚本语言一起使用。现在,我正在设计一个游戏引擎,我想知道是应该只使用集成的 JavaScript 支持还是弄清楚如何使用 Lua。

问题:Java Scripting API 能否轻松支持 Lua?如果是这样,怎么做?

如果您愿意:用 JavaScript 编写游戏引擎的脚本部分是否未知?

编辑:我的引擎需要脚本功能,以允许创建 AI、特殊体素(如我的世界中的块)和其他游戏附加组件。我不打算用脚本语言来完成所有这些创作,因为这样做很困难,但脚本语言似乎是为所有游戏内容制作 JAR 的好选择。我只是在探索我可以用 Java 做什么。

4

2 回答 2

1

Java 脚本框架依赖于用 Java 编写的实现 JSR-223 的代码。因此,lua 将不起作用。

但是,您可以使用用 Java 编写的 lua 实现,例如包含 JSR-223 支持的luaj 。

注意:luaj 不是 lua 的完整克隆,但它非常实用,并且允许您访问 java 类等。

关于选择脚本语言,因为您使用 Java 作为系统编程语言,所以使用 lua 作为脚本语言的一些好处并不适用,例如快速、占用空间小、出色的 C 集成。

所以真的变成了个人喜好。Javascript 可能会很好,Jypthon、JRuby 或 luaj 也可以。

于 2013-09-10T18:05:51.350 回答
0

用 JS 做游戏引擎并不是一个明智的想法。尽管有可能(参见 Node.js / Three.js),但 JS 相当慢,因为它是解释型的。Node.js 具有 JIT 编译,但它仍然比 C++ 等价物慢 3-4 倍(最佳情况)。

我从未使用过 Lua 或 Java Scripting API,对此我无法给你答案,但我认为 JS 的速度会改变你的想法。

于 2013-09-10T05:18:01.343 回答