LuaJ - CoerceJavaToLua 对 Java 对象做了什么
LuaJ - What does CoerceJavaToLua do with a Java Object
如果我这样做
CoerceJavaToLua (new Vector2(3, 5));
它会是什么 return,我如何访问 lua 中的值?我是否这样传递 returned 值:
globals.load(CoerceJavaToLua(new Vector2(3, 5)));
它将 Java 值转换为包含元表的 LuaValue,方便在 lua 脚本中进行操作。
尝试在全局变量中设置强制值,而不是加载,然后执行使用该值的脚本:
Globals globals = JsePlatform.standardGlobals();
globals.set("image", CoerceJavaToLua.coerce(
new BufferedImage(30,40,BufferedImage.TYPE_INT_RGB)));
LuaValue chunk = globals.load(
"print(image:getWidth(), image:getHeight());");
chunk.call();
输出:
30 40
图像上的任何 public 字段或方法都是可访问的,并且 return 值是强制的,因此 Java 中的大多数操作此时都可以在 lua 中执行.
查看 swing 示例以查看包含回调处理的详细示例。
如果我这样做
CoerceJavaToLua (new Vector2(3, 5));
它会是什么 return,我如何访问 lua 中的值?我是否这样传递 returned 值:
globals.load(CoerceJavaToLua(new Vector2(3, 5)));
它将 Java 值转换为包含元表的 LuaValue,方便在 lua 脚本中进行操作。
尝试在全局变量中设置强制值,而不是加载,然后执行使用该值的脚本:
Globals globals = JsePlatform.standardGlobals();
globals.set("image", CoerceJavaToLua.coerce(
new BufferedImage(30,40,BufferedImage.TYPE_INT_RGB)));
LuaValue chunk = globals.load(
"print(image:getWidth(), image:getHeight());");
chunk.call();
输出:
30 40
图像上的任何 public 字段或方法都是可访问的,并且 return 值是强制的,因此 Java 中的大多数操作此时都可以在 lua 中执行.
查看 swing 示例以查看包含回调处理的详细示例。