HMS Core:LayaAir IDE如何實現(xiàn)快游戲分包與加載

來源:華為開發(fā)者論壇
作者:Mayism
時間:2020-12-29
2439
華為快游戲的分包加載,目的是為了縮短下載時間和減少下載流量。通過使用分包策略,開發(fā)者可以指定下載和加載特定分包,而不必將所有整包內(nèi)容一次性下載和加載。

問題描述:

如何使用LayaAir IDE實現(xiàn)快游戲分包與加載

問題分析:

華為快游戲的分包加載,目的是為了縮短下載時間和減少下載流量。通過使用分包策略,開發(fā)者可以指定下載和加載特定分包,而不必將所有整包內(nèi)容一次性下載和加載。

解決方法:

1. LayaAir IDE的發(fā)布設置

當我們打算分包的時候,需要在發(fā)布的時候先勾選分包相關的選項,如下圖所示:

ia_18200000002.png

然后,點擊分包選項+ ,打開如下圖所示面板。設置分包名和對應的分包文件夾即可。

ia_18200000003.png

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)); 

    }

);

立即登錄,閱讀全文
HMS
原文鏈接:點擊前往 >
文章來源:華為開發(fā)者論壇
版權說明:本文內(nèi)容來自于華為開發(fā)者論壇,本站不擁有所有權,不承擔相關法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼關注
獲取更多出海資訊的相關信息
優(yōu)質(zhì)服務商推薦
更多