因此,我将使用带有 JavaScript 的 Java Scripting API 来为游戏编写所有脚本。现在,我已经阅读了文档,我似乎无法弄清楚如何一次性运行一些脚本来获取所有“不同类型的对象数据”以提供给 Java。我实际上不太确定如何将所有这些数据保存到 Java,或者我是否应该尝试将其保存到 Java....
问题:如何在运行时将一堆脚本信息导入我的应用程序?
因此,我将使用带有 JavaScript 的 Java Scripting API 来为游戏编写所有脚本。现在,我已经阅读了文档,我似乎无法弄清楚如何一次性运行一些脚本来获取所有“不同类型的对象数据”以提供给 Java。我实际上不太确定如何将所有这些数据保存到 Java,或者我是否应该尝试将其保存到 Java....
问题:如何在运行时将一堆脚本信息导入我的应用程序?
您基本上可以通过脚本 API 在脚本环境和 Java 之间传递数据。例如,
final ScriptEngineManager factory = new ScriptEngineManager();
final ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.eval("greeting='Hello'");
// Returning data from scripting environment to Java.
// The data can also be returned from a function
final String greeting = (String) engine.eval("greeting");
System.out.println(greeting); //prints Hello
//Passing data to scripting environment from Java
engine.put("who", "foo");
final String greetingFoo = (String) engine.eval("greeting + ', ' + who");
System.out.println(greetingFoo); //prints Hello, foo