我在Java中创建falling sand game。我希望用户能够为游戏编写自己的引擎,我认为脚本语言可能适用于此。我用jython尝试了一个小脚本,它比java版慢了很多倍。
我需要一种具有快速循环和/或快速数组访问的脚本语言,因为这就是游戏将要做的很多事情。或者,如果您对另一种让用户为游戏编写自己的引擎的方法有任何建议。
我也不完全确定这可行(好)。如果您认为不能,请让我知道为什么以及可能的替代方案。
答案 0 :(得分:2)
您可以使用JavaCC为自己编写简单的游戏语言。这确实给了你所有你想要的灵活性和本机Java速度(实际上这取决于你的实现)。但你需要保持语法简单,否则需要一些efford ...
爪哇?是的Java!为什么不让用户通过Java代码扩展您的游戏?在Java 6中有一个Java编译器API:
答案 1 :(得分:0)
您可以查看BeanShell。在我的使用中,它几乎和原生Java一样快(就像它变成的那样)并且非常容易访问,因为是 Java,尽管它被锁定在Java 1.4之上。
答案 2 :(得分:0)
RelProxy是Java编译器和自动热类重新加载器,纯Java代码可以像脚本语言一样执行。
因为Java是faaast Java可能是最快的脚本语言,所以你可以选择使用.class文件,比如一种编译缓存,以避免在加载时进行编译。