LuaScriptCore
LuaScriptCore copied to clipboard
关于callMethod调用
java中如何调用lua里对象的方法?lua代码如下
App={}
function App:onCreate ()
print('Hello World');
end
java中去调用lua中App:onCreate方法,目前我尝试有下面两个方法,请问该如何去写?
// 这种方法可以调用,但是无法传递参数
_luaContext.evalScript("App.onCreate()")
// 想使用callMethod但是无法调用,没有任何输出
_luaContext.callMethod("App.onCreate", null)
第一种方法是可行的,如果参数参数是基础类型,那么可以直接通过拼接脚本的形式来传递参数,如果是要传递原生对象则此方式行不通。可以调整为下面方式:
LuaValue obj = _luaContext.evalScript("App");
LuaFunction func = _luaContext.evalScript("App.onCreate").toFunction();
func.invoke(new LuaValue[]{obj, new LuaValue(1024)});