最早接觸Lua是在四年前,當(dāng)時(shí)是在上一家公司做微端項(xiàng)目開發(fā),那是客戶端和服務(wù)器的邏輯部分都是用Lua來更新處理,最底層的進(jìn)行的封裝。當(dāng)時(shí)感覺Lua好神奇,語法簡單,而且還更容易理解和維護(hù)。但是由于當(dāng)時(shí)所處“地位”的原因,底層代碼的封裝代碼沒能拿來進(jìn)行研究,倍感遺憾。后來進(jìn)入87870進(jìn)行虛擬現(xiàn)實(shí)項(xiàng)目的開發(fā),所開發(fā)的項(xiàng)目基本上都是在PC平臺上的單機(jī)或者弱聯(lián)網(wǎng)的游戲,所以有關(guān)Lua的學(xué)習(xí)也因此擱淺。最近公司組織架構(gòu)調(diào)整,時(shí)局動蕩卻能抽出時(shí)間來進(jìn)行Lua學(xué)習(xí),暗自慶幸。廢話也不多說了,接下來咱們切入正題,進(jìn)入Lua的世界。
游戲中的熱更新主要包括:游戲資源更新(模型,貼圖,場景,配置信息等)和游戲邏輯代碼更新。因?yàn)樵贗OS中,不支持反射,所以無法直接更新.cs文件,所以使用ULua進(jìn)行熱更新是最好的解決 方案。
首先我們我們在http://www.ulua.org/simpleframework.html下載Ulua的工程文件,這是一位大神寫好的有關(guān)NGUI和UGUI的簡單更新框架,這里我下載的是一個(gè)關(guān)于UGUI的工程,如下圖:
使用的Unity版本是5.2,下載到本地,然后用Unity打開會彈出下面一個(gè)窗口
此時(shí)如果你直接運(yùn)行Unity的話,會有報(bào)錯(cuò),這是因?yàn)槟銢]有按照上面提示框里的提示進(jìn)行操作,分別按照上圖中的提示進(jìn)行操作,然后運(yùn)行,正確運(yùn)行后,如下圖:
單機(jī)Button按鈕后,會有一個(gè)錯(cuò)誤提示,這是因?yàn)槟銢]有啟動Server,此處的Button按鈕,點(diǎn)擊時(shí)會往Server上發(fā)送一個(gè)消息。在你下載的工程文件下E:/ULua/SimpleFramework_UGUI-0.4.1/Server/Server/bin/Debug文件夾下找到SuperSocket.SocketService.exe,點(diǎn)擊運(yùn)行,如下圖:
如圖所示,按下“r”鍵,服務(wù)器啟動成功,這時(shí),返回unity中,點(diǎn)擊Button按鈕,就會彈出一個(gè)對話框,如下圖所示:
這樣Ulua的環(huán)境就基本大家完成了。
好了,這一章就寫到這,歡迎大家加入QQ群:280993838 。或者關(guān)注我的公眾號:
新聞熱點(diǎn)
疑難解答