Creator 新增微信小游戏分包方案,轻松实现分包加载

发表于2018-07-18
评论5 5.8k浏览

想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏美术行业精英群

167422913

小游戏分包加载功能升级

微信小游戏日前增加了分包加载功能,运用分包功能,小游戏代码包总上限可以从之前的 4 M提升至 8 M。开发者可以根据游戏品类和场景需要,在合适时机加载指定包,提升打开速度,优化用户体验。

这对于中重度手游来说,绝对是一个利好的消息,以往小游戏多以轻度休闲游戏为主,分包功能的出现,预示着小游戏类型将越来越丰富。


中重度手游往往依赖强社交,而微信拥有强大的社交关系网络,能轻松实现传播和用户获取,Creator V1.10 Preview 版本推出的分包方案将帮助各位开发者进行中重度小游戏开发。


分包加载的原理与效果

分包加载,就是把游戏内容按一定规则拆分在几个包里,在首次启动的时候只下载必要的包,这个必要的包称为主包,开发者可以在主包内触发下载其他子包,这样可以有效降低首次启动的消耗时间。


Creator 如何实现分包加载

Cocos Creator V1.10 Preview 预览版推出的分包方案,只需要简单的几个步骤即可完成小游戏分包:


  • 配置分包   

  • 项目构建

  • 运行游戏

  • 加载分包

1、1


一、配置分包:


创建分包目录:


新建一个文件夹,将需要延后加载的脚本放在这个目录下。


配置该目录为子包:


1)Creator 是以文件夹作为单位来进行分包配置的,当我们选择一个文件夹时,属性检查器中便会出现文件夹的相关配置选项。




2)勾选“配置为子包”,所选择的文件夹下的代码即是子包的内容。


3)子包名会在加载子包时作为加载的名字传入,默认会使用这个文件夹的名字。


二、项目构建


1)代码分包的作用只会在项目构建后才会体现,预览的时候还是按照整包来进行加载的。


2)项目构建后,系统会在构建目录下的 src/assets 目录下生成对应的分包文件。


例:如果将 cases/01_graphics 文件夹配置为了子包,那么将会项目构建后生成 src/assets/cases/01_graphics.js 文件。这个文件包含了 01_graphics 文件夹下的所有代码,并且会将这些代码从主包中剔除掉。


3)在微信小游戏平台的构建中,分包的配置会按照规则自动生成到小游戏的 game.json 配置文件中。


三、运行游戏


1)微信小游戏只有特定的版本才能支持分包功能,记得更新你的客户端版本和开发者工具。


微信 6.6.7 客户端,2.1.0 及以上基础库开始支持,请更新至最新客户端版本,开发者工具请使用 1.02.1806120 及以上版本”


2)更新了开发工具后要记住修改基础库。



3)具体请参考微信分包加载文档,文档地址:https://developers.weixin.qq.com/minigame/dev/tutorial/base/subpackages.html (可复制至浏览器中打开)


四、加载分包


1)Cocos 引擎提供了一个统一的 api 

cc.loader.downloader.loadSubpackage 来加载分包代码,适用于所有平台。


2)loadSubpackage 需要传入一个分包的名字,这个名字即是之前你在项目中配置的分包名字,默认为分包文件夹的名字。


3)当分包加载完成后,会触发回调,如果加载失败的话,会返回一个错误信息。


五、参考示例

分包方案参考示例可复制至浏览器中打开):

https://github.com/cocos-creator/example-cases/tree/master/assets/cases/subpackage 


如何下载新版 Creator

Windows 版本下载链接:

http://download.cocos.com/CocosCreator/beta/CocosCreator_v1.10.0-preview.1_20180629.7z

Mac 版本下载链接:

http://download.cocos.com/CocosCreator/beta/CocosCreator_v1.10.0-preview.1_20180629.dmg


各位开发者可进入上方链接下载 Cocos Creator V 1.0 Preview 版本体验分包功能,在使用过程中,如果有任何技术问题以及意见或建议,欢迎在 Cocos 官方论坛中发帖交流。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

游戏学院公众号二维码
腾讯游戏学院
微信公众号

提供更专业的游戏知识学习平台