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();