Unity3D熱更新之LuaFramework篇[01]--從零開始


前言

因工作關系,需要對手頭的項目進行熱更新支持。了解后發現,Lua的幾個變種:XLua、ToLua(原uLua)和Slua都可以做Unity熱更,而ToLua更是提供了一個簡易的熱更框架--LuaFramework_UGUI,使得上手變得容易,因此選定LuaFramework_UGUI框架來實現項目的熱更功能。

當然,容易是相對的,對一個小白來說要弄懂這一套流程和概念並不簡單。網上相關資料不少,但大多是零散而雷同的,很難讓一個此前對熱更缺少認知的人快速上手。因此我將自己的爬坑經歷整理成文,希望能對正焦頭爛額,不知道如何下手的你提供一點幫助。

01.如何獲得LuaFramework框架?

1.進入ToLua的官網:http://www.ulua.org/index.html(ToLua是uLua的升級版,不要問為什么是ulua.org)

2.點擊LuaFramework_UGUI的地址,打開框架在github上的位置:https://github.com/jarjin/LuaFramework_UGUI見圖1-1

(如果你是NGUI用戶,也可以選擇NGUI對應的框架)

圖1-1

3.點擊“Clone or download”按鈕,以zip形式下載最新的框架代碼,為方便追溯,這里我將這個壓縮包重命名為“LuaFramework_UGUI-master-20190327.zip”。

你也可以點擊這里,下載我所用的框架包

02.運行LuaFramework框架示例

解壓剛剛下載好的壓縮包,發現里面是一個Unity工程(如圖2-1),於是用 unity打開此工程。

圖2-1

我使用的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的這種能力實現的一個熱更新方案(提供包括資源包管理、下載、加載等一系列功能)。

 

以個答案均為個人理解,如有不對,敬請指出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM