问题描述:

如何使用LayaAir IDE实现快游戏分包与加载

问题分析:

华为快游戏的分包加载,目的是为了缩短下载时间和减少下载流量。通过使用分包策略,开发者可以指定下载和加载特定分包,而不必将所有整包内容一次性下载和加载。

解决方法:

  1. LayaAir IDE的发布设置

当我们打算分包的时候,需要在发布的时候先勾选分包相关的选项,如下图所示:

在这里插入图片描述

然后,点击分包选项+ ,打开如下图所示面板。设置分包名和对应的分包文件夹即可。

在这里插入图片描述

  1. 分包配置代码

除了发布的设置,在manifest.json文件中,也需要声明subpackages分包字段,声明格式如下:

注意 :如果自己手动分包时,resource最后是以 “ / ” 结尾(ide分包可忽略该步骤)。同时对应目录下需要有 game.js 文件

subpackages:[
{
    "name":"subpackageName1",//对应分包名
      "resource":"subpackagePath1"//对应分包文件夹
    },
    {
      "name":"subpackageName2", //对应分包名
      "resource":"subpackagePath2"//对应分包文件夹
    }
 ]
  1. 分包使用的示例代码

使用分包的示例代码如下:

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

原文链接:
https://developer.huawei.com/consumer/cn/forum/topic/0204404939877380218?fid=18
作者:AppGallery Connect


华为开发者论坛
352 声望56 粉丝

华为开发者论坛是一个为开发者提供信息传播、开发交流、技术分享的交流空间。开发者可以在此获取技术干货、华为源码开放、HMS最新活动等信息,欢迎大家来交流分享!