Unity3D热更新之LuaFramework篇[01]--从零开始

前言

因工做关系,须要对手头的项目进行热更新支持。了解后发现,Lua的几个变种:XLua、ToLua(原uLua)和Slua均可以作Unity热更,而ToLua更是提供了一个简易的热更框架--LuaFramework_UGUI,使得上手变得容易,所以选定LuaFramework_UGUI框架来实现项目的热更功能。html

固然,容易是相对的,对一个小白来讲要弄懂这一套流程和概念并不简单。网上相关资料很多,但大可能是零散而雷同的,很难让一个此前对热更缺乏认知的人快速上手。所以我将本身的爬坑经历整理成文,但愿能对正焦头烂额,不知道如何下手的你提供一点帮助。git

01.如何得到LuaFramework框架?

1.进入ToLua的官网:http://www.ulua.org/index.html(ToLua是uLua的升级版,不要问为何是ulua.org)github

2.点击LuaFramework_UGUI的地址,打开框架在github上的位置:https://github.com/jarjin/LuaFramework_UGUI见图1-1c#

(若是你是NGUI用户,也能够选择NGUI对应的框架)服务器

图1-1框架

3.点击“Clone or download”按钮,以zip形式下载最新的框架代码,为方便追溯,这里我将这个压缩包重命名为“LuaFramework_UGUI-master-20190327.zip”。测试

你也能够点击这里,下载我所用的框架包ui

02.运行LuaFramework框架示例

解压刚刚下载好的压缩包,发现里面是一个Unity工程(如图2-1),因而用 unity打开此工程。lua

图2-1spa

我使用的Unity版本为5.5.5f1,会提示须要升级,是否备份,点“Go Head”就行。而后会弹出“自动生成”对话框(见图2-2),点肯定。

 图2-2

打开工程后,找到Main场景,直接运行,会报错“没有找到框架所须要的资源,单击Game菜单下Build xxx Resource生成”,见图2-3:

 

图2-3

根据提示,找到LuaFramework菜单下的Build xxx Resource项(并不是提示的Game菜单)。因工程打开默认为Windows平台,因此选择“Build Windows Resources”菜单。

图2-4

等待操做完成后,控制台会打印许多警告,不用理会,直接再次运行,出现如图2-5所示界面。框架以Lua代码的形式动态的建立了一个界面,看到此界面表示运行LuaFramework_UGUI框架成功,也代表这个框架运行良好。

(界面右下角的Button按钮是测试与服务器的通信功能,此处暂不细述。)

图2-5

本篇至此结束,下一篇我将会梳理此框架中用Lua建立一个面板的基本流程。

 

思考

问:ToLua、XLua以及SLua,它们之间是什么关系?

答:我的理解,Lua定义了一种语言规范,而ToLua、Xlua、Slua都是这种规范的一种实现。

问:Unity、ToLua、LuaFramework_UGUI,它们之间有什么联系?

答:ToLua搭建了一个Lua语言与Unity中c#语言沟通的桥梁,借助ToLua,你能够在C#语言中调用Lua方法,也能够在Lua语言中调用C#方法。

而LuaFramework_UGUI则是基于ToLua的这种能力实现的一个热更新方案(提供包括资源包管理、下载、加载等一系列功能)。

 

以个答案均为我的理解,若有不对,敬请指出。

相关文章
相关标签/搜索