项目资源 subpackages/...png 所在的分包尚未加载

  • Creator 版本:2.2.0

微信小游戏子域+主域资源超过了4M,想通过分包加载的方式扩充资源容量。

在A预制体中通过点击按钮生成B预制体,B预制体包含了WXSubContextView组件(用于做排行榜),

于是我将B预制体所用到的独立的预制体文件,图片资源,脚本资源拿出来,放到了cases/01_graphics文件夹下进行分包,

在A预制体的点击事件里:cc.loader.downloader.loadSubpackage(…);

然后就在微信开发者工具里出现了大量报错:

来个大佬帮忙看看啊,是不能分资源吗?

主包里最好别有子包资源的引用
所有关于子包的数据,要等子包加载完后再用

//加载子包
cc.loader.downloader.loadSubpackage(‘cases/01_graphics’, function (err) {
if (err) {
return console.error(err);
}
console.log(‘load subpackage successfully.’);

        // this.m_PHBView = cc.instantiate(this.m_getPHBPrefab);
        // this.node.addChild(this.m_PHBView);
        
    }).bind(this);

我把生成预制体的代码注释掉了,还是报错

和预制加载关系不大,主要是子包中的资源不要在主包中有引用关系,你可以找找子包中有哪些图片在主包的场景或者预制中有挂载。不嫌麻烦就在子包的资源中查找引用,看看是否是在主包的资源上使用了,这样比较稳。

没有应用关系,全部都是独立的资源

@valiancer @874327824 感谢两位
实验了几次发现是因为B预制体文件挂在了A预制体上的脚本组件里,将B预制体放在resources文件夹动态加载就好了