在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):vimfung/LuaScriptCore开源软件地址(OpenSource Url):https://github.com/vimfung/LuaScriptCore开源编程语言(OpenSource Language):C 41.9%开源软件介绍(OpenSource Introduction):功能&特点LuaScriptCore旨在能够在多种平台上方便地使用Lua。其提供了与多种平台的功能交互,让开发者无须关心Lua与各个平台之间是实现交互的细节,只需要根据自己的业务需求,使用LuaScriptCore提供的方法,轻松简单地实现各种功能。如:
如,Lua中有如下定义 url = "https://vimfung.github.io/LuaScriptCore/";
function printUrl(url)
print (url);
end 在原生代码中可以如下面操作Lua变量和方法: iOS/OSX //获取变量
LSCValue *urlValue = [context getGlobalForName:@"url"];
NSLog(@"url = %@", [urlValue toString]);
//调用方法
[context callMethodWithName:"printUrl" arguments:@[urlValue]]; Android //获取变量
LuaValue urlValue = context.getGlobal("url");
Log.d("LuaScriptCore", String.format("url = %s", urlValue.toString()));
//调用方法
context.callMethod("printUrl", new LuaValue[] {urlValue}); Unity3D //获取变量
LuaValue urlValue = context.getGlobal ("url");
Debug.LogFormat ("url = {0}", urlValue.toString ());
//调用方法
context.callMethod("printUrl", new List<LuaValue>(new LuaValue[] {urlValue}));
如,原生代码为Lua定义输出日志方法log: iOS/OSX [context registerMethodWithName:@"log" block:^LSCValue *(NSArray<LSCValue *> *arguments) {
NSLog(@"%@", [arguments[0] toString]);
return nil;
}]; Android context.registerMethod("log", new LuaMethodHandler() {
@Override
public LuaValue onExecute(LuaValue[] arguments) {
Log.d("LuaScriptCore", arguments[0].toString());
return null;
}
}); Unity3D LuaContext.currentContext.registerMethod("log", (List<LuaValue> arguments) => {
Debug.Log(arguments[0].toString());
return null;
}); 在Lua中则可以调用该方法: log("Hello World");
原生代码有如下类型定义: iOS @interface LuaType : NSObject <LSCExportType>
// 定义属性和方法...
@end Android class LuaType implements LuaExportType
{
// 定义属性和方法...
} Unity3D class LuaType : LuaExportType
{
// 定义属性和方法...
} 则可以在Lua中进行使用,如: local obj = LuaType();
print (obj); 如何使用iOS / OS X 平台关于iOS/OS X平台下如何使用LuaScriptCore,请参考《iOS/OS X集成使用文档》 Android 平台关于Android平台下如何使用LuaScriptCore,请参考《Android集成使用文档》 Unity3D关于Unity3D下如何使用LuaScriptCore,请参考《Unity3D集成使用文档》 注意目前源码中不带有任何平台的Release库,在运行Sample时需要从Relases页签中下载最新版本的库并放入Sample项目后运行。 API文档
最近更新下载Release 2.4.0 -更新内容:
更多更新历史建议&支持如问题请与我联系 赞助打开支付宝扫一扫,给予我支持 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论