使用Java脚本API w/JavaScript和/或Lua

使用Java脚本API w/JavaScript和/或Lua,java,javascript,api,scripting,lua,Java,Javascript,Api,Scripting,Lua,所以,我刚刚意识到Java有一个内置的API系统,可以与JavaScript和其他符合JSR-223的脚本语言一起工作。现在,我正在设计一个游戏引擎,我想知道我是否应该使用集成的JavaScript支持,或者如何使用Lua 问题:Java脚本API可以轻松支持Lua吗?如果是,怎么做? 如果您愿意:是否不知道如何使用JavaScript编写游戏引擎的脚本? 编辑:我需要为我的引擎编写脚本,以允许在游戏中创建AI、特殊体素(如minecraft中的块)和其他附加组件。我并不打算用脚本语言来完成所有

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

问题:Java脚本API可以轻松支持Lua吗?如果是,怎么做?

如果您愿意:是否不知道如何使用JavaScript编写游戏引擎的脚本?


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

用JS制作游戏引擎不是一个明智的想法。尽管可能(请参阅Node.js/Three.js),但js速度相当慢,因为它是解释的。Node.js有JIT编译,但它仍然是3-4X(最好的情况)比C++等价的慢。
我从来没有使用过Lua或Java脚本API,我不能给你一个答案,但我认为JS的速度会改变你的想法。

Java脚本框架依赖于用Java编写的实现JSR-223的代码。这样lua就不行了

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

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

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


所以,这真的成了个人的偏好。Javascript可能会很好,Jypthon、JRuby或luaj也一样

你应该列出你的项目要求,否则这将是太基于意见。我希望我的编辑有帮助。我不是用JavaScript制作游戏引擎。我正在用Java制作我的引擎,并考虑使用JavaScript来编写游戏中的所有脚本。