版本:2.3.4
参考:
在微信小游戏中使用分包。因为微信小游戏有包体限制。
主包最大只能4m,分包最大4m,一共最多16m。所以主包只放代码,而图片、json等资源都设置为分包里。
下面看怎么使用分包。
选择resource下文件夹common,在属性检查器勾选“配置为子包”,子包名为“common”,点击“应用”。
同样方法设置resource下文件夹game、home等为子包。
构建发布微信小游戏
微信小游戏包里自动生成了subpackages文件夹,里面就是我们设置为子包的资源common、game等。 同时在game.json里自动配置好了分包路径。
cocos中统一使用cc.loader.downloader.loadSubpackage加载分包。
加载common分包代码:
cc.loader.downloader.loadSubpackage("common", (res)=>{ console.log(res.progress, res.totalBytesWritten, res.totalBytesExpectedToWrite); },()=>{ console.log("wechat load subpackage success"); });
运行微信小游戏,可以看到cc.loader.downloader.loadSubpackage加载common分包成功,输出success。
总结:
1. 分包支持代码和资源加载,只支持小游戏平台,例如微信小游戏、oppo小游戏。
2. 分包的使用需要2步。1勾选文件夹为子包, 2使用cc.loader.downloader.loadSubpackage加载子包。
3. 在发布web mobile网页平台时,也会生成subpackages子包资源目录,但是加载不需要使用cc.loader.downloader.loadSubpackage,还是使用cc.loader 常规api就可以,路径填写按没有分包时写就行。