Cocos2d-JS 热更新的策略

前端之家收集整理的这篇文章主要介绍了Cocos2d-JS 热更新的策略前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

V3.3引擎,在存在groupversion情况下:

groupversion和version任何一个增加(先和旧的下载的project.manifest比较,不存在则和客户端里的project.manifest比较,增大或则减小都算变化,只有一致才算无变化),均算version.manifet版本号变化

version.manifest: 无条件每次更新到服务器上的最新版

project.manifest: 若version.manifet版本号变化,即下载服务端对应最新的,否则不变.

res目录和src目录: 下载了最新的project.manifest,且分别取决于其对应的md5(未覆盖前的文件中的md5,原来不存在现在有新的值也算变化,是每个group分别比较,一旦某个group不变则不会下载copy其对应的文件)而不是groupversion变化,变化则把服务端各文件夹下的文件copy到对应的本地目录,遇到同名的会替换掉旧的,原来旧的且不同名的保持不变.即覆盖copy


建议:
1、自第一次发布后,历次更新的代码都打包在一个js.zip中,每次只更新这个js.zip。这样好处是,保证所有代码是同步的,即使没更新到,玩家也就停留在上一版。例如第一次更新,有1.js,那么js.zip只有1.js;第二次更新2.js,那么js.zip就得包含1.js和2.js,这样避免一些跳版本更新的玩家出问题。
2、 代码资源,避免修改,可以直接用新文件,但不要替换旧文件,这样目的是避免多次版本更新造成新旧混乱。设想2次更新都是zip包,两个zip包都有1.png,这时候有个跳版本更新的玩家,就会下载2个zip包,但先后顺序是不可控的。
3、每次更新manifest文件必须保留以前的assets配置,不能删除。否则,如果删了以前的assets配置,客户端会跟随着删除相应的文件



参考文档:

http://www.cnblogs.com/kenkofox/p/3906681.html

http://cn.cocos2d-x.org/tutorial/show?id=1186

猜你在找的Cocos2d-x相关文章