提一些预加载Bundle的建议


把这个url改成服务器获取不就行了

那这个bundle需要配置成远程包吗?构建面板还需要填地址吗?

配成远程包,不用填了

不过最重要的,总共需要下载多少,当前下载了多少MB,还是没办法获得

长期自顶,希望得到重视

帮顶,小游戏肯定会有这样的需求。不过预加载那一块,不用填远程地址就可以在本地直接拿URL获取的assetManager.loadBundle(url, {MD5: ‘855a7’} (bandle)=>{bandle.load})加载即可。不过我目前遇到的问题就是在md5加密热更新这块,填写具体的地址,还要带解密md5参数,这个不知道怎么动态携带。

长期自顶,希望得到重视

1赞

自顶的第14天

自顶的第15天

看起来有三个问题:

  • 没有具体的 size 信息
  • 进度条回退
  • 远程服务器地址可动态配置

三个需求没有什么问题。
其中第二,三点需求,应该会在 3.6 版本支持
第一个需求,如果用 bundle 的 zip 模式的话,再配合 onFileProgress 能够获取的文件的进度。3.6 之后我们会考虑是否把 bundle 的文件合并到一起,现在因为可能是散文件的形式,每个散文件单独记录 size 信息,在加载的过程中是不好统计总的 size 信息的,如果整个 bundle 都合并,size 的计算会容易得多

感谢引擎组大佬的关注,不过我有一点希望和疑问:
1.希望2.4.x也支持
2.如果bundle是zip模式,那在整个zip下载完之前,是不是就不能先加载其中某个资源用着了
3.如果把bundle合并一起,那好像就不支持在整个bundle下载完成之前,先加载其中的某个资源使用了,和zip模式一个问题

这个问题好解决,你在main.js中请求一次资源服的地址,做资源服重定向就行了,只要在cc.assetManager.init之前重定向就行

这个会影响启动速度,得等请求返回后才能继续初始化启动流程,因为是网络请求,如果网络差或者请求失败,会影响后面的流程,不好

最后是怎么解决的老哥

1赞

没解决。。

这个问题好解决,不一定需要依赖引擎组,自己上传个资源尺寸的清单,先拉下来,然后重定向下载接口,把下载好的文件查询一下,获取他的文件大小,然后再算个百分比,所以你懂的,哈哈哈哈,哈哈哈哈,哈哈哈哈,哈哈哈哈,哈哈哈哈,哈哈哈哈,哈哈哈哈,哈哈哈哈,哈哈哈哈,哈哈哈哈,哈哈哈哈,哈哈哈哈