Laya商业级3d实战_018微信分包加载&发布设置

视频学习地址:
视频观看地址

分包加载;

分包加载主要是为了减少主包大小,因为微信上主包大小只有4M.
如果开发者硬件条件比较好,可以直接使用从服务器加载资源,就可以省略编写分包逻辑

微信
开发者工具下载
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

//以下内容仅vip可见

配置Game.json

“subpackages”: [
{
“name”: “Home”,
“root”: “res3d/LayaScene_Home/”
},
{
“name”: “Game”,
“root”: “res3d/LayaScene_Game/”
},
{
“name”: “SoundMain”,
“root”: “res/sound/main/”
},
{
“name”: “SoundGame”,
“root”: “res/sound/game/”
}
]

添加4个分包
为什么分成4个?
根本目的是为了减少首次加载游戏时长,提高用户首页留存率

假如一个包需要1秒下载完成
方案一:游戏只做一个分包
全部资源下载完毕
用户进入首页就是4秒

方案二;4个分包
首页只加载(Home,SoundMain)
用户进入首页加载耗时2秒

开始游戏加载(Game,SoundGame)
开始游戏加载耗时2秒

案例采用的是第二个方案
发布后,在发布后的目录编辑game.json,勾选保留平台配置文件,防止再次发布被覆盖

所有分包文件夹加上game.js 空文件即可

Loadingview.ts

public startLoad() {
    if (Platform.supportSubPackage() == false)
        this.fileLoadOk = true;
    else {
        let sf = this;
        console.log("加载分包", this.arg.subpackgeName);
        let task: _LoadSubpackageTask = Platform.loadSubpackage_Single(this.arg.subpackgeName, this, this.subpackgeLoadOk);

        task.onProgressUpdate(function (res) {
            //返回结果微信开发者环境0-100//苹果IOS是0-1 //微信IDE安卓是0-100
            //vivo oppo 0-1
            sf.currentProgress = res.progress;
        });
    }
    Laya.timer.frameLoop(10, this, this.loopUpdate);
}

subpackgeLoadOk(isok: boolean) {
    this.fileLoadOk = isok;
}

增加分包加载逻辑
Homeview.ts
onOpened

    if (Platform.supportSubPackage())
    Platform.loadSubpackage_Single('SoundMain', this, this.onsubpackgeLoadOk)
    else
        SoundMgr.instance.BgmPlay();

onsubpackgeLoadOk(isok) {
if (isok) {
SoundMgr.instance.BgmPlay();
}
}

Game.ts
onAwake
//声音模块
// SoundMgr.instance.PlayGameBgm();

    //分包后的声音模块
    if (Platform.supportSubPackage())
        Platform.loadSubpackage_Single('SoundGame', this, this.onsubpackgeLoadOk)
    else
        SoundMgr.instance.PlayGameBgm();


onsubpackgeLoadOk(isok) {
    if (isok)
        SoundMgr.instance.PlayGameBgm();
}

关闭碰撞盒线
export default class GameDesgin {

//碰撞体线
public static showaabbBoxLine = !!0;

删除课程例子资源.res3d目录下,保留game和home

发布压缩设置
ls,lh,lav,lmat json格式去空格换行节省空间
$basePath/**/*.{ls,lh,lav,lmat}

在这里插入图片描述

打开微信开发者工具,导入项目,成功运行
测试环境
微信开发者工具稳定版 1.02.1910120 (读取场景显示不完整)真机测试没问

https://developers.weixin.qq.com/community/develop/doc/000aaef24f4ee0b36e59755895b801

在这里插入图片描述

针对1.03新版本开发者工具2020/08/12视频制作日期
在这里插入图片描述

利用版本管理功能重构文件名达到通过开发者工具测试目的

总结,本节实现了分包加载以及在微信开发者工具遇到的问题和处理方法

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程之力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值