背景 19年年初的時候,進到一家新單位,公司正准備將現有的游戲做成支持熱更的版本。於是尋找熱更方案的任務就落在了我頭上。 經過搜索了解,能做Unity熱更的方案是有好幾種,但是要么不夠成熟,要么不支持iOS平台,相對來說,還是用Lua來實現比較靠譜。 而Lua的熱更方案也有好幾種 ...
前言 因工作關系,需要對手頭的項目進行熱更新支持。了解后發現,Lua的幾個變種:XLua ToLua 原uLua 和Slua都可以做Unity熱更,而ToLua更是提供了一個簡易的熱更框架 LuaFramework UGUI,使得上手變得容易,因此選定LuaFramework UGUI框架來實現項目的熱更功能。 當然,容易是相對的,對一個小白來說要弄懂這一套流程和概念並不簡單。網上相關資料不少,但 ...
2019-03-27 01:13 0 3615 推薦指數:
背景 19年年初的時候,進到一家新單位,公司正准備將現有的游戲做成支持熱更的版本。於是尋找熱更方案的任務就落在了我頭上。 經過搜索了解,能做Unity熱更的方案是有好幾種,但是要么不夠成熟,要么不支持iOS平台,相對來說,還是用Lua來實現比較靠譜。 而Lua的熱更方案也有好幾種 ...
前言 在上一篇文章 Unity3D熱更新之LuaFramework篇[08]--熱更新原理及熱更服務器搭建 中,我介紹了熱更新的基本原理,並且着手搭建一台服務器。 本篇就做一個實戰練習,真正的來實現熱更新功能。 一、准備工作 1、制作一個用於熱更新的界面 此前我制作 ...
前言 前面鋪墊了這么久,終於要開始寫熱更新了。 Unity游戲熱更新包含兩個方面,一個是資源的更新,一個是腳本的更新。 資源更新是Unity本來就支持的,在各大平台也都能用。而腳本的熱更新在iOS平台則是不被允許的(除了Lua)。 為了讓一套代碼能在各個平台都支持熱更,將游戲 ...
前言 在上一篇文章 Unity3D熱更新之LuaFramework篇[06]--Lua中是怎么實現腳本生命周期的 中,我分析了由LuaBehaviour來實現lua腳本生命周期的方法。 但在實際使用中發現,只有一個這樣的腳本還不夠。 LuaBehaviour驅動 ...
在上篇文章 Unity3D熱更新之LuaFramework篇[01]--從零開始 中,我們了解了怎么獲得一個可用的LuaFramework框架。 本篇將我會先介紹一下如何配置Lua開發環境,然后分析在此框架中加載面板的流程,以及如何創建自己的面板。 1、配置Lua開發環境 ...
在上一篇文章 Unity3D熱更新之LuaFramework篇[02]--用Lua創建自己的面板 中,我介紹了LuaFramework加載面板的方法,但這個方法並不適用於其它Prefab資源,在這套框架中非面板型資源的加載方法另有套路。 1、如何加載非面板預制體 1、創建一個 ...
時隔一個多月我又回來啦! 堅持真的是很難的一件事,其它事情稍忙,就很容易說服自己把寫博客的計划給推遲了。 好在終於克服了自己的惰性,今天又開始了。 本篇繼續我的Luaframework學習之路。 一、規范開發模式 此前的示例中,動態加載的panel都默認 ...
前言 用c#開發的時候,新建的腳本都默認繼承自Monobehaviour, 因此腳本才有了自己的生命周期函數,如Awake,Start, Update, OnDestroy等。 在相應的方法中實現游戲邏輯,引擎會適時調用。 而Lua在這里做為c#的一個外延語言,自然是不受Unity ...