Java 脚本的用途是什么?如何让这两种语言进行交流
[对不起,我的语法和语法很糟糕,但我是意大利人] 我知道有很多脚本语言,比如lua、python、javascript。。 我通常用java编程,但我仍然不知道如何使脚本与主程序通信Java 脚本的用途是什么?如何让这两种语言进行交流,java,scripting,Java,Scripting,[对不起,我的语法和语法很糟糕,但我是意大利人] 我知道有很多脚本语言,比如lua、python、javascript。。 我通常用java编程,但我仍然不知道如何使脚本与主程序通信 ScriptEngine js = new ScriptEngineManager().getEngineByName("js"); 然后我读取一个包含脚本的文件,并将其插入res变量中 我运行代码并停止。但是我只能让脚本在控制台上打印文本。 最后,我的问题是:“为什么脚本有用?”我可以用一个没有的脚本做什么?做
ScriptEngine js = new ScriptEngineManager().getEngineByName("js");
然后我读取一个包含脚本的文件,并将其插入res变量中
我运行代码并停止。但是我只能让脚本在控制台上打印文本。
最后,我的问题是:“为什么脚本有用?”我可以用一个没有的脚本做什么?做某些事情更简单吗?我用javascript编写了这个脚本:
load("lib.js");
imgSize = 60;
setSound("bounce.wav");
rndSound(["bounce.wav", "gigi.wav"]);
rndSoundDisable(3, 1);
rndImg(1920 - imgSize * 2, 1080 - imgSize * 2, "logo.png");
addImg(0, 0, "bg.png");
rndImg(1920 - imgSize * 2, 1080 - imgSize * 2, "blub.png");
data;
您可以想象函数的作用。下面是java代码:
ScriptEngine INTERPRETER = new ScriptEngineManager().getEngineByName("js")
String scriptText = "";
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader(new File(script));
br = new BufferedReader(fr);
String currentLine;
while((currentLine = br.readLine()) != null)
scriptText += currentLine;
} catch (IOException e) {
System.err.println("Script " + script + " not found");
}
ScriptObjectMirror obj = null;
try {
obj = (ScriptObjectMirror) INTERPRETER.eval(scriptText);
} catch (Exception e) {
e.printStackTrace();
}
return obj.to(String[].class);
函数返回字符串[],其中包含来自js的数据值您的脚本可以
返回
值。在脚本末尾,我可以写return x,Object value=js.eval(res);将返回值给我?我使用脚本来计算用户键入的函数。Object result=js.eval(“3*sin(2.5)/17”)例如,我可以创建一个游戏,通过创建一个包含游戏需要的所有信息的对象,并从脚本返回它来生成用javascript或lua或其他语言编写的关卡?@Ralf Renz,这样我就可以创建一个游戏,通过创建一个包含所有信息的对象来生成用javascript或lua或其他语言编写的关卡在游戏需要时,从脚本中返回它?我如何返回它?我只需在脚本末尾写下我要返回的变量的名称,或者使用关键字?
ScriptEngine INTERPRETER = new ScriptEngineManager().getEngineByName("js")
String scriptText = "";
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader(new File(script));
br = new BufferedReader(fr);
String currentLine;
while((currentLine = br.readLine()) != null)
scriptText += currentLine;
} catch (IOException e) {
System.err.println("Script " + script + " not found");
}
ScriptObjectMirror obj = null;
try {
obj = (ScriptObjectMirror) INTERPRETER.eval(scriptText);
} catch (Exception e) {
e.printStackTrace();
}
return obj.to(String[].class);