LuaScriptCore
LuaScriptCore copied to clipboard
支持推送javaObject到Lua脚本使用吗?
我看了源码 貌似没有发现可以推object进栈给lua调用的
任何非ExportType对象传到lua都会被会以userdata包装,如果不在lua中进行原生对象的操作,仅仅作为传递对象使用的话,这样是可以的。
任何非ExportType对象传递到lua都会被会以userdata包装,如果不在lua中进行原生对象的操作,只是作为传递对象使用的话,这样是可以的。
我尝试了Android 的2.4 版本,用setGlobal 使用string的类型没问题,但是传Object 出现nil报错
如果出现nil就是不正常的,我先看看是什么问题
如果出现nil就是不正常的,我先看看是什么问题
早些休息吧,有时间再处理。 辛苦了
😄
你好,这个问题我测试了一下并没发现存在问题,能告诉我具体你的代码和系统版本吗?以下是我测试的代码片段:
_luaContext.setGlobal("nativeObject", new LuaValue(new Object()));
_luaContext.evalScript("print(nativeObject);");
LuaValue objValue = _luaContext.getGlobal("nativeObject");
Log.v("lsc", objValue.toObject().toString());
输出是没有问题的
05-10 09:10:08.171 3589-3589/cn.vimfung.luascriptcore.sample I/luascriptcore: _ObjectReference_: 0x7089ed5ebf48
05-10 09:10:08.172 3589-3589/cn.vimfung.luascriptcore.sample V/lsc: java.lang.Object@1c846bd
你好,这个问题我测试了一下并没发现存在问题,能告诉我具体你的代码和系统版本吗?以下是我测试的代码片段:
_luaContext.setGlobal("nativeObject", new LuaValue(new Object())); _luaContext.evalScript("print(nativeObject);"); LuaValue objValue = _luaContext.getGlobal("nativeObject"); Log.v("lsc", objValue.toObject().toString());
输出是没有问题的
05-10 09:10:08.171 3589-3589/cn.vimfung.luascriptcore.sample I/luascriptcore: _ObjectReference_: 0x7089ed5ebf48 05-10 09:10:08.172 3589-3589/cn.vimfung.luascriptcore.sample V/lsc: java.lang.Object@1c846bd
FreeSpace freeSpace =新的FreeSpace(); LuaValue value =new LuaValue(freeSpace); _luaContext.setGlobal(“ F”,value); 在lua的脚本文件调用F变量出现报错了 注冊全局類變量必須implements LuaExportType嗎?
请问您说的调用是怎么调用呢?如果是要调用FreeSpace里面的属性或者方法是必须要实现LuaExportType的,如果仅仅是作为参数传递是没有问题的。例如在原生层registerMethod一个方法,然后把这个F传入这个方法是可行的。