本插件未经过测试,如遇问题请及时提出。
本人编写的另一个前置插件,用于使用JavaScript编写插件:jsAPI插件 - 使用js编写插件并调用,并且已经相当完善,推荐使用。
安装
请自行下载java环境,并下载与Python版本(3.7)对应的JPype(JPype1‑1.1.2‑cp37‑cp37m‑win_amd64.whl
),接着安装(参考此处
请重命名为java_api.py
,并按照文档安装。
使用
Scratch端调用指令java_api.run
,参数jar
是jar包的路径,class
是调用的类名,func
是函数名,然后其他的参数就是直接传递给该函数的参数。
示例
如,在openxmw主目录创建example.java
(这里用到了JSONObject
)
package one;
import net.sf.json.JSONObject;
public class example {
public static Integer get_length(JSONObject params){
System.out.println(params.get("string").length());
JSONObject result;
result.put("result",params.get("string").lenght());
return result;
}
}
打开cmd进入到该包同级目录下
#先生成class文件
javac -encoding utf-8 example.java
#打包jar文件
jar cvf example.jar one #【c:创建文件 v:详情信息 f:指定包】
接着,在Scratch上调用java_api.run
,并携带参数:
jar
:example.jar
class
:one.example
func
:get_length
string
:你好
然后将会收到返回result
:2
注意
要调用的Java函数/方法只接受一个JSON对象(Python字典)返回也必须是一个JSON对象(Python字典)