针对Unity2018、2019版,
请注意我此博客发布时间,目前尤其是搭建2019版本时会有较大的问题,以后不知道会不会修复。

先简单说一下 tolua 和 luaframework。
前者的前身是C#tolua,由于unity只支持C#,IOS端热更新不了。所以作者大大写了个tolua工具使我们可以在Unity中使用lua,能够热更新。
后者是基于tolua的UGUI框架,方便我们写UI。

这两个东西都是个人写的(感觉他俩好厉害),所以更新方面可能不会很即时,Bug也会有一些。

我先来说一下如何搭建luaframework,这个会了tolua也就会了。

一定要跟着我的步骤走,否则会出现很多奇怪的问题:

1.先下载https://github.com/jarjin/LuaFramework_UGUI_V2。
2.将这三个文件放到你的项目的asset目录下。(注意别忘了link)

lua xlua的区别 xlua和tolua区别_lua

3.它会出现提示框,说里面有一些旧的api,点击I made a backup, go ahead更新api就行,否则你还得自己更新。然后还会有一个提示框提示注册,按照提升走就OK。
4.那个提升框其实就是调用了generate all. 但是要注意all却并没有调用generate binder.所以你自己得调用一下,如图。

lua xlua的区别 xlua和tolua区别_unity_02

5.之后你就会收到报错。50条之多。报错告诉你有好多wrap的文件并没有找到。这准定就是个现在还没修复的bug。不要把那些没找到的注释掉了。我的解决方法是创建一个2018版的,按照上面的步骤走,你会发现没有报错。把2018版的copy到2019里,gen binder后就会在generate文件夹内生成wrap文件,如图。

lua xlua的区别 xlua和tolua区别_lua_03

2018里的这些文件是全的,copy到2019里就OK了。

6.接下来一定还要copy file to resource,否则会报错:tolua错误之LuaException: cannot open tolua.lua: No such file or directory no file ‘./tolua.lua’。这个错误硬生生让我解决了半天,真的是半天时间。如图

lua xlua的区别 xlua和tolua区别_lua xlua的区别_04

7.最后一定要build resource,如图

lua xlua的区别 xlua和tolua区别_unity_05

这七个步骤一个都不要少。中途如果出现了其他bug,那是你的操作顺序有问题,会有两个小bug的,比如说LightApI找不到,还有一个是方法调用出错,注释掉就好。
如果还有其它问题一定是你自己的操作问题,不是很懂时只看就好,不要改源码
,那个没有找到tolua文件真是把我搞的心态爆炸。
一定还要注意报错之后你改完别忘了再重新gen或者build一下,不是说改完就拉倒了。

最后成功运行界面如下

lua xlua的区别 xlua和tolua区别_热更新_06