1、博客介绍
博主也是刚接触XLua不久,本篇博客主要起记录和学习的作用,在本篇博文当中将介绍Xlua的配置和使用,对于萌新和小白来说应该还是有点用处的,大佬就绕道吧。
2、XLua环境配置
关于Xlua的配置在网上有很多文章,很简单,这里在阐述一下。
首先在github上下载XLua的源码工程
将源码Assets目录下的所有文件移动到你自己Unity工程Assets目录下
将源码内和Assets同级的Tools文件全部移动到你自己Unity工程目录下,和你的Assets保持同级
将本地Unity目录下的\Editor\Data\Managed下的Unity.Cecil.dll、Unity.Cecil.Mdb.dll、Unity.Cecil.Pdb.dll三个文件复制到项目中的\Assets\XLua\Src\Editor文件夹下
最后一步,在Unity内File--Bulid Settings-Player Settings-Other Settings-Scripting define Symbols 打开HOTFIX_ENABLE
输入后,敲击回车,待右下角的圆圈加载完后就可以了,然后测试是否成功,点开编辑器上XLua选项,点击Clear Generated Code ,然后点击Generated Code在右下角加载完成后,点击Hotfix inject in Editor。然后打开XLua的地8个例子HotfixTest,运行后点击左上角HotfixTest,输出变为Lua输出,既成功。
3、场景搭建和AB包的准备
这里不知道怎么制作打包工具的请跳转博主上一篇博客
传送门:https://blog.csdn.net/Mr_Sun88/article/details/86553465
(1)场景搭建
这里我们做一个非常简单的工程,一个Cube和一个Sphere,两个按钮
然后设置脚本Test.cs,并挂载在场景内,脚本给两个按钮绑定好方法,方法不做任何处理
这里注意了啊,如果想要使用XLua进行热更新,你想要在修改的类前面必须打上标签----->[Hotfix][LuaCallCSharp]<-------,这些工作都是你在发布前做好的,在你觉得需要热更的地方都打好标签。
(2)Lua脚本准备
下一步我们先用Lua把方法重写一下,点击按钮一破坏掉Cube,点击按钮二破坏掉Sphere。
4、基础网络环境的搭建
我们这里使用了一个叫做NetBox的软件来模拟网络环境,该软件运行后效果如图
既该软件的同级目录的地址就是http://localhost/+.......,如此我们就可以模拟网络环境了,我们把刚打包好的AB包放在和NetBox的同级目录下。
下面我们写加载Lua的脚本
5、热更新的测试
现在我们可以先运行一下NetBox,然后运行场景进行测试,记得凡是修改了C#脚本后都需要点击上方编辑栏的XLua按钮,Clear一下代码,在Genetrate Code,在Hotfix Inject In Editor一下。
可以,我们在Lua中写的方法已经生效了,下面我们把场景打包再次测试。
同样没问题,这样我们就可以直接通过服务器上的AB包来修改我们的代码了。
1