小游戏分包
每天学习一点点,分享一点点,和大家一起进步。
背景:使用 cocos creator2.4.3
引擎开发小游戏,发布为字节跳动小游戏。
拿微信小游戏来举例,
4M
大小的限制为什么存在?
H5
的游戏点开就能玩,这个大小从制度上满足点开就能玩的用户体验H5
游戏会缓存到本地,所以第二次加载会比较快,从制度上对大小空间上有一个限制- 更小的游戏,对于微信的服务器而言能同时承载更多的用户
小游戏 4M
大小的限制用来开发简单的游戏是足够的,但是如果想要丰富游戏内容、更好的画面效果, 4M
明显不够用。所以 分包加载 这种办法应运而生, 按照一定的规则把游戏内容拆分成多个包,在游戏运行的时候下载必要的包,剩下的包按照需要进行下载 。
分包加载包的大小限制:(当前时间: 2022年6月28日17:33:00 文档地址:https://developers.weixin.qq.com/minigame/dev/guide/base-ability/subPackage/useSubPackage.html)
- 整个小游戏所有分包大小不超过
20M
- 单个分包不限制大小,主包不超过
4M
逗比
使用的是 cocos creator2.4.3
引擎开发小游戏的,所以使用的是引擎官方提供的小游戏分包方案。(参考文档地址:https://docs.cocos.com/creator/manual/zh/asset/subpackage-upgrade-guide.html)
引擎自 2.4
版本后支持的 Asset Bundle
为 小游戏 分包加载
这个操作提供了便利。( Asset Bundle
文档地址:https://docs.cocos.com/creator/manual/zh/asset/bundle.html)
小游戏设置分包的操作步骤如下:
-
在
cocos
工程中创建即将作为分包对象的文件夹,这里假设命名test_bundle
(注意不要使用官方内置的名称) -
选中文件夹,在右侧属性检查器面板中勾选
Is Bundle
并配置剩下的Target Platform
、Compression Type
等 -
游戏逻辑完成如何不是我们关注的重点,所以打开 构建发布 面板配置 发布平台 后开始构建了(其他选项正式项目根据需要选择,这里只是测试分包加载,所以忽略)
-
构建完毕后
build
文件夹会有对应平台的小游戏目录,这里拿微信小游戏举例。此时分包配置还未完成,微信小游戏目录wechatgame
下有game.json
文件,需要把分包信息加到subpackages
属性下(其他不用做处理){ "deviceOrientation": "portrait", "networkTimeout": { "request": 5000, "connectSocket": 5000, "uploadFile": 5000, "downloadFile": 5000 }, "subpackages": [ { "name": "test_bundle", "root": "assets/test_bundle/index.js" } ] }
-
使用微信开发者工具,打开
wechatgame
目录。根据 详情->基本信息->本地代码 打开对应面板能够看到小游戏的主包、分包信息了。 -
分包可以了,那么怎么使用分包中的资源。
Asset Bundle
是cocos creator
提供的,自然在官方文档中能找到怎么用。文档地址:https://docs.cocos.com/creator/manual/zh/asset/bundle.html
逗比文章写的少,如果有哪里措辞不合适的地方还请见谅。然后有错误的地方还请一定留言通知我,感激不尽。