問題描述:
如何使用LayaAir IDE實現(xiàn)快游戲分包與加載
問題分析:
華為快游戲的分包加載,目的是為了縮短下載時間和減少下載流量。通過使用分包策略,開發(fā)者可以指定下載和加載特定分包,而不必將所有整包內(nèi)容一次性下載和加載。
解決方法:
1. LayaAir IDE的發(fā)布設置
當我們打算分包的時候,需要在發(fā)布的時候先勾選分包相關的選項,如下圖所示:
然后,點擊分包選項+ ,打開如下圖所示面板。設置分包名和對應的分包文件夾即可。
2. 分包配置代碼
除了發(fā)布的設置,在manifest.json文件中,也需要聲明subpackages分包字段,聲明格式如下:
注意:如果自己手動分包時,resource最后是以 “ / ” 結尾(ide分包可忽略該步驟)。同時對應目錄下需要有 game.js 文件
subpackages:[
{
"name":"subpackageName1",//對應分包名
"resource":"subpackagePath1"//對應分包文件夾
},
{
"name":"subpackageName2", //對應分包名
"resource":"subpackagePath2"//對應分包文件夾
}
]
3. 分包使用的示例代碼
使用分包的示例代碼如下:
復制
var task = hbs.loadSubpackage({
subpackage:'subpackageName1',
success : function () {
console.log("loadSubpackage success" );
},
fail:function(){
console.log("loadSubpackage fail");
},
complete:function() {
console.log("loadSubpackage complete");
}
});
task.onprogress(
callback(res) {
console.log("onProgress" + JSON.stringify(res));
}
);