使用cocos已经是第7个年头了,也算是老司机了,今天就介绍下使用cocos creator开发游戏如何热更新。

预备知识

首先,科普下基础知识,热更新的基础原理是,不同版本的游戏资源对应不同的manifest,manifest记录了当前游戏资源的所有信息,通过比对下载差异,实现游戏更新。

跟着我一步一步实现热更新

1.简单了解下热更新DEMO

这个是热更新DEMO仓库,我已经编译好了一个可运行的EXE游戏热更DEMO,并放到了Gitee,国内下载速度比较快。

这里我简单剖析下DEMO:

  • 项目中必须得导入一份manifest文件(怎么导入参考我的热更新插件使用文档)
  • 游戏运行起来后,会运行项目的HotUpdateScene场景,这个场景会执行热更新逻辑,也就是HotUpdate.ts,我已经对热更逻辑进行了一个简单的封装,理论上其他项目可以直接使用。
  • HotUpdate.ts的热更逻辑会根据当前项目的最新manifest文件信息,对比server上的manifest文件,有差异下载差异,没有差异就直接进入游戏了。
  • 下载完差异后,游戏必须要软重启(cc.game.restart())下,使热更新的资源生效,至此,热更新就算完成了。

2.导入manifest到自己的项目,下载热更新插件

接下来就是需要将DEMO的热更新功能copy到自己的项目,首先就是导入一份manifest文件,这里使用本人开发的热更新插件,在插件商店里面可以找到,这个能帮你更快速的完成热更新。

这里是具体的热更新插件使用文档,非常详细,我就不再赘述,有问题可以通过插件QQ联系到我,24小时免费答疑

当然这个也不是必须的,没有这个插件,你也能搞定热更新。
插件

3. 将Demo的热更新逻辑迁徙到项目

demo例子很简单,没有过于复杂的逻辑,HotUpdate.ts如果看不到,可以直接copy到项目直接使用,按照项目需求,自己修改下HotUpdateScene.ts的逻辑即可。

4.每次更新版本,怎么做

开发完毕新功能后,要更新到游戏里,只需要打一个热更新包,放到热更服务器即可,build项目之后,运行下插件的生成热更包,就会在项目目录生成packages-hoot-update,注意这个目录有发生变化,请以文档为准,里面的versions就会生成一个zip包,这个zip包就是热更包,上传的热更服务器即可。

插件已经做了非常多的人性化功能,强烈安利给大家,加班?不存在的!

如果有任何疑问或者问题,欢迎加入cocos creator插件讨论群224756137

欢迎关注本人微信公众号,不定期更新cocos干货
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐