求助,bundle 给加了个热更新,有没有办法不重启更新脚本和资源
把bundle释放掉,然后重新加载的时候把已经加载的脚本不加载去掉在每个平台的loadscript接口里面,把重复类名不加载改成覆盖在js.js里面改就可以了,预览会有问题,改一下也可以用
在哪里设置啊,能不能具体点
还没找到吗,引擎代码里面啊,平台下有个js.js的加载的时候有判断同名的。然后加载资源的bundle的代码你跟一下有个loadscrit里面的每个平台的不一样,也有个判断重复加载的去掉就可以了
engine\cocos2d\core\platform\js.js 416行那一段
engine\cocos2d\core\asset-manager\download-scritp 32行。。。2.4.3是这里哈
请问一下
移除 bundle
是把 这个 bundle 的所有资源(图片,声音,字体等)从内存中移除
还是只移除了这个 bundle 的缓存的数据???
改引擎我目前不考虑,谢谢你啊
为什么需要重启才能用更新后的脚本呢?
这是因为旧版本的 cocos creator 游戏,打包后的项目 脚本js只有一个 ,所以你热更新之后,需要在重启游戏以加载更新后的js
那么,基于 Asset Bundle 的需要这样子做吗?
不需要的,因为基于 Asset Bundle 的游戏,打包后的项目脚本js 不是只有1个,而是基于不同 Asset Bundle 文件夹,拆分开来的 js,既然如此
那么你只需要在项目一开始的时候,和服务器通讯,检查是否为最新版本的assetbundle
- 如果是,就直接加载 asset bundle (内的js脚本)
- 如果不是,那么就下载好 asset bundle 内容下来,在加载bundle(内的js脚本)
你可以看到,无论你 if 还是 else ,你都是不用重启加载js的,因为你在加载asset bundle 的js之前,能保证js就是最新版本的
这个我知道 我就想看看万能的大佬有没有啥办法
后续有没有解决这个问题呢?
