200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > lua和unity如何交互_(XLua)C#与Lua中的交互

lua和unity如何交互_(XLua)C#与Lua中的交互

时间:2020-12-05 21:50:34

相关推荐

lua和unity如何交互_(XLua)C#与Lua中的交互

下载后接下来就是导入XLua到unity里了,解析出来的XLua有下面几个文件夹

我们只需要将Assests:主目录里面的东西全部导入到Unity里面就OK了,导入后再XLua的文件夹下有这么几个。里面都有学习的文档,也可自行去学。

C#访问Lua中的全局变量与table

首先创建一个在Resources下面创建一个文本文件并给其命名为Hello world.lua.txt,这样我们就可以读取到Lua文本文件了,然后写入以下

接着我们创建一个脚本HolloworldXLua引入程序集XLua在Start方法下写入

一个LuaEnv实例对应Lua虚拟机,出于开销的考虑,建议全局唯一DoString参数为String,可输入任意合法的Lua代码.

在这里访问Lua中的Table有几种方法一种是映射到类中,另一种是映射到接口中去,但是这两种方法结果都是相同但是,有一点是不一样的,那就是映射到类中只拷贝Lua里面的数据但是用接口映射的话可以修改Lua里面的数据.,用接口相当与引用

然后我们就可以看到输出的结果,输出的就是Lua脚本里面的全局变量与里面的table里面的

然后还可以通过Dictionary或者List去映射Lua表里面的数据

void Start()

{

LuaEnv luaenv = new LuaEnv();//一个LuaEnv实例对应Lua虚拟机,出于开销的考虑,建议全局唯一

luaenv.DoString("require 'Hello world'");//通过内置的Loder加载lua源文件

Dictionary dict = luaenv.Global.Get>("person");//person表示哪个表

foreach (string Key in dict.Keys)

{

print(Key + ":" + dict[Key]);

}

luaenv.Dispose();

}

输出结果:

下面使用List也可以映射那些没有Key的值,

Lua脚本里面

最后输出可以看到2输出两次212和15分别输出一次对应Lua脚本里面的数据:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。