cocos2dx-js cocos creator 实现热更新

cocos2dx-js cocos creator 实现热更新
本项目使用的cocos creator 的版本是3.8.8官方给了一个热更新的demo项目https://docs.cocos.com/creator/4.0/manual/zh/advanced-topics/hot-update-manager.html上面详细介绍了热更新的原理这里不再赘述。本次使用的项目demo: https://gitee.com/wgslucky/cocos-tutorial-hot-update这里以发布为window程序为例注意在cocos creator中不能热更新需要打包发布为原生程序才可以比如window,安卓ios等平台。先准备一个web服务器可以下载不同版本的游戏资源这里我使用nginx做静态文件代理可以当成web服务使用。安装好nginx之后配置一下代理目录location /cocos-hot/{alias/home/nginx/project/cocos-hot-update/;}新版本的游戏资源将放在/home/nginx/project/cocos-hot-update目录下面。这样可以通过http://ip:端口/cocos-hot/xxx/project.manifest 文件其它资源也是一样的。一 构建版本为1.0.0的项目我把版本号拼接在了游戏名称之后这样在version_generator插件中就可以取到版本号了。其实cocos creator应该加个填写版本号地方方便扩展脚本中获取。构建完成之后会调用version_generator.js插件生成版本信息文件 project.manifest和version.manifest插件目录生成的project.manifest文件内容是nodeversion_generator.js-v1.0.0-uhttps://www.xinyues.cn/cocos-hot/remote-assets/-sG:\work\开源项目\cocos-tutorial-hot-update\build\windows-001\data-dG:\work\开源项目\cocos-tutorial-hot-update\assets-v 指定 Manifest 文件的主版本号。-u 指定服务器远程包的地址这个地址需要和最初发布版本中 Manifest 文件的远程包地址一致否则无法检测到更新。-s 本地原生打包版本的目录相对路径, 比如 ./build/android/assets。-d 保存 Manifest 文件的相对路径。第一次构建的时候项目可能会使用的是旧project.manifest文件为了保持最近版本迭代可以再构建一次。为了区分更新前和更新之后的不同我加了一个新场景NewGameMain里面只有一个按钮二发布生成版本1.0.0项目的window调试程序依次点击版本1.0.0的生成- 运行点进入场景二 修改NewGameMain场景的文字并重新构建新的版本设置为1.0.1 三把新版本构建好的资源上传到服务器资源包括 project.manifest, version.manifest,以及构建输出目录data下面的assets和src文件内的所有文件。把assets和scr打包成压缩包上传到服务器并解压。这里面的资源可以先在浏览器上面试一下看看能不能访问到。注意权限问题如果文件是只读权限的话下载不到修改权限chmod 777 文件名四检测更新启动旧版本的程序点击检查更新发现新版本可以去更新了点击立刻更新进度条会变化然后程序会自动重启重启之后再点进入新场景就可以看到更新后的内容了