cocos3.15热更工具和代码提供,欢迎吐槽

hello 大家好
听说 cocos3.15 对热更新支持的更好,我来尝试了下,发现很多东西没有,自己完善了下,包括生成工具和热更代码,简单提供强更功能,要的速度。
先上文件,提供工具,热更资源,还有自己写的一个nodejs的工具集合(凑合着用,现在改不动了,哈哈)
附件1:
工程代码:clinetdir1.zip (2.1 MB)
附件2:
包含开发常用的模块代码(包含nodejs工具使用的模块代码),因文件有36m,始终上传不成功,我放在了百度网盘,需要的麻烦自己下载。sorry!
附地址:http://pan.baidu.com/s/1boKBSD5

目录结构

—client
–tools
–src
–res
–script(这个是个坑,你们可以不用这个,直接用cocos引擎下面那个)
–node_modules

所有命令执行目录,都是在client/下

执行方式 
node ./tools/xxx.js 即可 (win下 可以写成 .bat 文件  bat 的内容 就是前面那句命令即可 )
如果没有node 请下载安装一个  百度 nodejs 第一个就是

------------------------------------------------------分割线---------------------------------------------------------------------------

使用说明:
你得看得懂一点点nodejs,不会的就去学,或者-------绕道,谢谢!
按照上面列的方式,放入对应文件
执行
node tools/update/manifestVersion.js -u 192.168.0.205 --channel debug
文件当中 注释我写的很清楚,跟你三观不和的,勿喷。。。

--温馨提示,暂定的是.js的解决方案,.jsc的方式,也是类似,后面做到这里了,我再更新jsc的工具--

正常打包流程
1,当前游戏是完整的,能够在win或者h5上跑起来
2,执行 node tools/update/manifestVersion.js -u 192.168.0.205 --channel debug 
参数说明:
-u 更新地址,有端口的要加上端口哟,开发人员用的工具,我就没有检查格式了,自己这里保证是正确的哈 
--channel(-c) 指定渠道,暂定多渠道方案解决办法
3,拷贝manifestVersion.js 中指定的输出目录下的 project.manifest 和 version.manifest 到 res/update/ 下
4,进行正常打包 cocos compile -p android(ios)

ps:update.js 当中提供了强更方案,大家可以做个参考,
进入游戏 

------------------------------------------------------分割线---------------------------------------------------------------------------
for 程序猿:
startGame 是启动游戏, update.js 如果被更新,第二次启动才会生效

附main.js 的代码,
//超前设置搜索路径 不然不会使用新资源的路径,如果要改搜索路径,请连着 update.js当中的路径一起改一下

cc.game.onStart = function(){
    cc.view.enableRetina(cc.sys.os === cc.sys.OS_IOS ? true : false);
    cc.view.adjustViewPort(true);
    cc.view.setDesignResolutionSize(1136, 640, cc.ResolutionPolicy.FIXED_WIDTH);
    //设置搜索路径 不然不会使用新资源的路径
    if(cc.sys.isNative){
        var list = jsb.fileUtils.getSearchPaths();
        list = [jsb.fileUtils.getWritablePath() + "/download"].concat(list);
        jsb.fileUtils.setSearchPaths(list);
    }

    //todo 热更新
    cc.loader.loadJs(["src/update/update.js"],function () {
        var scene = new cc.Scene();
        scene.addChild(new UpdateLayer());
        cc.director.runScene(scene);
    });
};

cc.game.run();
5赞

我顶你 兄弟

顶一下,下载来看看

欢迎大家使用,使用过程中有什么问题,可以在这里 @jacklling 我每周都会来看的,当然在项目过程当中,我也会跟进维护,有新的想法,再分享给大家

已经更新自动生成方法,上传到服务器工具,我会在稳定之后上传

好工具!支持

mark