XLua熱更學(xué)習(xí)筆記(一)

1.hotfix.md說(shuō)明,常見(jiàn)FAQ解答

hotfix.md的原話(huà):這個(gè)特性默認(rèn)是關(guān)閉的,需要添加HOTFIX_ENABLE宏打開(kāi) (在Unity的File->Build Setting->Scripting Define Symbols下添加)。

2.hotfix注入

編輯器下需要執(zhí)行"XLua/Generate Code"和"XLua/Hotfix Inject In Editor", 如果打印“hotfix inject finish!”或者“had injected!”,那表示已經(jīng)注入成功

3.示例:用了官方的example里的例子

C#代碼,提供方法體,方法內(nèi)部調(diào)用lua

using UnityEngine;
using System.Collections;
using XLua;
[Hotfix]
public class HotfixTest : MonoBehaviour
{
  LuaEnv luaenv = new LuaEnv();
  public int tick = 0; //如果是private的,在lua設(shè)置xlua.private_accessible(CS.HotfixTest)后即可訪(fǎng)問(wèn)
  void Start()
  {
    luaenv.DoString("require 'hotfix'");//通過(guò)加載lua文件的方式
  }
}

lua代碼,hotfix.lua.txt的內(nèi)容:即方法的具體實(shí)現(xiàn),也就是打了補(bǔ)丁,這個(gè)部分就是可以熱更的

xlua.hotfix(CS.HotfixTest, 'Update', function(self)
    self.tick = self.tick + 1
   if (self.tick % 50) == 0 then
   print('<<<<<<<<Update in lua, tick = ' .. self.tick)
 end
end)

當(dāng)我們更改了lua代碼,不用打新包,只用發(fā)布lua資源更新,用戶(hù)更新資源版本就有新的代碼的功能。詳細(xì)見(jiàn)下描述。

4.熱更分析

所謂熱更,就是把C#里的方法內(nèi)容在lua中執(zhí)行,把lua代碼打包成assetsbundle
(ps:lua不需要編譯,做了修改會(huì)執(zhí)行新的修改,而C#不行,如果把C#腳本打包成assetsbundle資源文件,更新資源后沒(méi)法編譯,執(zhí)行不到新的修改)

5.自動(dòng)化打包lua(在完善中)

目的明確,就是要把示例中的hotfix.lua.txt打包成assetsbundle資源文件,當(dāng)然不可能手動(dòng)的一個(gè)個(gè)去操作(...),配置自動(dòng)化build assets lua,每次更新代碼了就發(fā)布lua資源更新到assetsbundle上,完成了這些,打包一次,以后的代碼用資源更新的方式進(jìn)行更新,當(dāng)然只能是lua代碼,以后每次打開(kāi)app就先檢測(cè)資源更新,有更新就assetsbundle下載,新的代碼就啟用了.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線(xiàn)程,因...
    小菜c閱讀 7,294評(píng)論 0 17
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,716評(píng)論 25 709
  • 《ilua》速成開(kāi)發(fā)手冊(cè)3.0 官方用戶(hù)交流:iApp開(kāi)發(fā)交流(1) 239547050iApp開(kāi)發(fā)交流(2) 1...
    葉染柒丶閱讀 11,455評(píng)論 0 11
  • δ方向α步長(zhǎng)
    Albert陳凱閱讀 239評(píng)論 0 0
  • 我不愛(ài)笑。 你說(shuō)你喜歡我笑的樣子。 于是,我努力的喜歡笑了。 可我不喜歡你了,因?yàn)槟悴幌矚g我了。 但我依然會(huì)一直笑...
    LeAnn_He閱讀 309評(píng)論 0 0

友情鏈接更多精彩內(nèi)容