Laya 整合微信小遊分包
阿新 • • 發佈:2018-12-18
3微信官方分包文件:微信分包文件
關於相容這塊有bug 發現低版本的require會再真機上報錯。暫時通過微信基礎庫版本來區分在laya遊戲邏輯程式碼中做一點處理。
高版本採用分包。低版本採用網路拉取資源的形式來結合相容。
微信開著工具 於 最上層路徑: game.js
//檢查版本 var info = wx.getSystemInfoSync() console.log("info.SDKVersion",info.SDKVersion) if (compareVersion(info.SDKVersion,"2.1.0") >= 0) { console.log("大於2.1.0版本") window.GameIsSubPackage = true; }else{ console.log("小於2.1.0版本 手動觸發") //require("./subpackage/game.js"); window.GameIsSubPackage = false; } require("./code.js");
然後laya遊戲資源載入路徑裡面增加
/** * 背景 如果小於2.1.0的包暫時無法觸發game.js * 所以通過控制來解決 小於基礎庫的還是網路拉資源 * 高基礎庫的 直接用分包資源 */ function setSubPackage(){ //只有設定到subNativeFiles配置資訊中的目錄才可以在主包中直接使用。 Laya.MiniAdpter.subNativeFiles = { "subpackage": [ "res/spine/", "res/", ] }; //如果有網路載入資源的需求時,不要忘了設定本地資源載入的白名單nativefiles Laya.MiniAdpter.nativefiles = [ "subpackage/res/spine/", "wxlocal", "layaNativeDir", ]; //處理是否分包操作 game.js 提前預判了 if(laya.utils.Browser.window.GameIsSubPackage){ Laya.MiniAdpter.nativefiles.push("res/spine/")//很重要 決定是否網路載入 } }
工程資源路徑 紅色的是分包資源。
微信開發著工具裡面的game.json