Unity3D熱更新之LuaFramework篇[10]--總結篇

背景

19年年初的時候,進到一家新單位,公司正準備將現有的遊戲作成支持熱更的版本。因而尋找熱更方案的任務就落在了我頭上。html

通過搜索瞭解,能作Unity熱更的方案是有好幾種,可是要麼不夠成熟,要麼不支持iOS平臺,相對來講,仍是用Lua來實現比較靠譜。android

而Lua的熱更方案也有好幾種:xLua、toLua和sLua。ios

其中xLua擅長打補丁,sLua難以理解,而toLua由於有着LuaFramework的存在,入門門檻低,所以我就選擇了toLua(LuaFramework)。git

因爲對Lua語言不太熟悉,又對熱更沒啥概念,tolua也沒啥文檔,說是門檻低,但對當時的我說來,想入門仍是很困難的。github

邊學邊作,差很少花了一個月的時間才理順了框架。c#

在這個過程當中,我花了不少時間在網上搜索相關資料,可是找到的有用的資料甚少,大部分都是淺嘗輒止的學習教程,深刻使用的和剖析的極少。服務器

沒有人能告訴你哪裏該怎麼作,下一步應該作什麼。網絡

有感於此,在我入門的三個月後,決定將個人LuaFramework學習之路記錄下來,一是爲了鍛鍊一下本身的表達能力,二是但願個人學習經歷能對後來人有所幫助。所以纔有了這一系列文章。框架

本系列文章重在操做,而少講原理。一是我本身也只勉強學會了使用,對原理理解並不透徹,怕誤導他人;二是以爲先用起來,而後再回頭去理解原理是一種更適合的方式。ide

文章內容有點淺,可是一個完整的lua熱更遊戲開發過程應該使用到的東西都有涉及,但願對你有所幫助。

由於我本人也是初學者,文章內容不免有錯誤和疏漏,歡迎指正。

 

系列文章連接

爲方便綜合學習,現將這一系列文章的連接都列在此處:

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

Unity3D熱更新之LuaFramework篇[02]--用Lua建立本身的面板

Unity3D熱更新之LuaFramework篇[03]--prefab加載和Button事件

Unity3D熱更新之LuaFramework篇[04]--自定義UI監聽方法

Unity3D熱更新之LuaFramework篇[05]--Lua腳本調用c#以及如何在Lua中使用Dotween

Unity3D熱更新之LuaFramework篇[06]--Lua中是怎麼實現腳本生命週期的

Unity3D熱更新之LuaFramework篇[07]--怎麼讓unity對象綁定Lua腳本

Unity3D熱更新之LuaFramework篇[08]--熱更新原理及熱更服務器搭建

Unity3D熱更新之LuaFramework篇[09]--資源熱更新與代碼熱更新的具體實現

 Unity3D熱更新之LuaFramework篇[10]--總結篇

 

文章使用的項目也已經上傳到Github,地址:https://github.com/tanyuqing/LuaFramework-in-action

項目所使用的Unity版本爲5.5.5f1,其它版本未驗證。

 

文章參考

背景裏我雖然吐嘈關於LuaFramework有用的資料太少,可是仍是有的。

我能學會這個框架的使用,羅培羽 大佬 寫的一系列關於LuaFramework的文章,對我起了極大做用。這些文章對LuaFramework框架的各類概念有詳盡的解釋,價值很高。

現將相關文章連接收錄在此,以供參閱。

Unity3D熱更新LuaFramework入門實戰(1)——代碼熱更新

Unity3D熱更新LuaFramework入門實戰(2)——資源熱更新

Unity3D熱更新LuaFramework入門實戰(3)——編寫Lua邏輯

Unity3D熱更新LuaFramework入門實戰(4)——Lua組件

Unity3D熱更新LuaFramework入門實戰(5)——UI

Unity3D熱更新LuaFramework入門實戰(6)——網絡

Unity3D熱更新LuaFramework入門實戰(7)——PureMVC

Unity3D熱更新LuaFramework入門實戰(8)——聲音管理器

Unity3D熱更新LuaFramework入門實戰(9)——線程管理器

 Unity3D熱更新LuaFramework入門實戰(10)——示例程序

 

羅大這一系列算得上是LuaFramework的高階使用教程了,我寫的那些只能算是初階入門指南,不過個人目的就在於此,畢竟要先入門才能往高處走。

 

新的熱更方案

ILRuntime

這是我最近才瞭解到的一個用c#進行熱更的框架,引用網上的一段評價來講明此框架。

ILRuntime是掌趣科技開源的unity熱更框架, 這個框架打破了C#不能作ios平臺熱更的規則,在ios平臺中是以ILRuntime + DLL 的方式解釋執行,固然是在IL2CPP下。
有了這個框架,開發者只需使用C#這一種語言便可,而不用在C#和lua之間切換,但這個框架也是有不少坑的,在一些方面性能是不如lua的,Git上的貢獻者也不多,暫時沒有通過大量項目的考驗,用的人仍是比較少的。

但願這個框架可以成熟,畢竟不用定lua代碼,能省好多事。

相關連接:http://ourpalm.github.io/ILRuntime/public/v1/guide/index.html

 

感謝

在我這一系列每篇文章的最後,老是少不了一我的的身影。感謝 返回主頁馬三小夥兒 大佬的解惑和長期以來的支持。

返回主頁馬三小夥兒 也是園子裏的一們unity大牛,精通unity、android開發,熟悉網絡原理,且還有本身的unity開發框架 ColaFrameWork 

是我學習路上的榜樣, 感謝!

 

結語

這一系列文章到這裏應該就結束了,沒講的東西還有很多,但若是每一篇你都跟着作了,如今應該也基本通透了,其它的都是細枝末節,本身摸索摸索也應差很少了。

若是關於這一系列文章你有啥疑問,能夠直接評論或給我發郵件聯繫我。

QQ郵箱:594006414@qq.com

 

---------2019-07-30  01:27---------

相關文章
相關標籤/搜索