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


背景

19年年初的時候,進到一家新單位,公司正准備將現有的游戲做成支持熱更的版本。於是尋找熱更方案的任務就落在了我頭上。

經過搜索了解,能做Unity熱更的方案是有好幾種,但是要么不夠成熟,要么不支持iOS平台,相對來說,還是用Lua來實現比較靠譜。

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

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

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

邊學邊做,差不多花了一個月的時間才理順了框架。

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

沒有人能告訴你哪里該怎么做,下一步應該做什么。

有感於此,在我入門的三個月后,決定將我的LuaFramework學習之路記錄下來,一是為了鍛煉一下自己的表達能力,二是希望我的學習經歷能對后來人有所幫助。因此才有了這一系列文章。

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

文章內容有點淺,但是一個完整的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---------

 


免責聲明!

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



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