背景 19年年初的時候,進到一家新單位,公司正准備將現有的游戲做成支持熱更的版本。於是尋找熱更方案的任務就落在了我頭上。 經過搜索了解,能做Unity熱更的方案是有好幾種,但是要么不夠成熟,要么不支持iOS平台,相對來說,還是用Lua來實現比較靠譜。 而Lua的熱更方案也有好幾種 ...
一 tolua c 調用lua:LuaState 變量名 函數名 .LuaState a.執行lua代碼段 DoString string DoFile .lua文件名 Require .lua文件名 但沒有.lua后綴 b.獲取lua函數或者表 LuaFunctionfunc lua.GetFunction 函數名 或者 LuaFunction func lua 函數名 as LuaFunct ...
2016-11-27 22:01 0 4815 推薦指數:
背景 19年年初的時候,進到一家新單位,公司正准備將現有的游戲做成支持熱更的版本。於是尋找熱更方案的任務就落在了我頭上。 經過搜索了解,能做Unity熱更的方案是有好幾種,但是要么不夠成熟,要么不支持iOS平台,相對來說,還是用Lua來實現比較靠譜。 而Lua的熱更方案也有好幾種 ...
前言 在上一篇文章 Unity3D熱更新之LuaFramework篇[08]--熱更新原理及熱更服務器搭建 中,我介紹了熱更新的基本原理,並且着手搭建一台服務器。 本篇就做一個實戰練習,真正的來實現熱更新功能。 一、准備工作 1、制作一個用於熱更新的界面 此前我制作 ...
前言 因工作關系,需要對手頭的項目進行熱更新支持。了解后發現,Lua的幾個變種:XLua、ToLua(原uLua)和Slua都可以做Unity熱更,而ToLua更是提供了一個簡易的熱更框架--LuaFramework_UGUI,使得上手變得容易,因此選定LuaFramework ...
先來看下框架是怎么展示一個界面的: lua層的入口是Game.OnInitOK,然后調用PromptCtrl.Awake,加載並創建PromptPanel,給界面掛上LuaBehaviour,在Lu ...
http://www.gameres.com/670141.html ...
前言 前面鋪墊了這么久,終於要開始寫熱更新了。 Unity游戲熱更新包含兩個方面,一個是資源的更新,一個是腳本的更新。 資源更新是Unity本來就支持的,在各大平台也都能用。而腳本的熱更新在iOS平台則是不被允許的(除了Lua)。 為了讓一套代碼能在各個平台都支持熱更,將游戲 ...
前言 在上一篇文章 Unity3D熱更新之LuaFramework篇[06]--Lua中是怎么實現腳本生命周期的 中,我分析了由LuaBehaviour來實現lua腳本生命周期的方法。 但在實際使用中發現,只有一個這樣的腳本還不夠。 LuaBehaviour驅動 ...
tolua中c#和lua交互過的對象都有一個ref編號, ref是int類型,ref唯一不重復,一個ref對應一個c#對象 tolua中任何c#對象在lua中對應的userdata都是一個int類型的內存指針地址,通過對這個userdata設置 ...