微信小游戏关于REMOTE_SERVER_ROOT疑问?

在官方文档中看到了微信小游戏关于REMOTE_SERVER_ROOT的介绍微信小游戏说明
对流程上还是有些疑问,希望能得到解答

对于存放在REMOTE_SERVER_ROOT上的资源,creator一次下载完成还是说游戏里用到的时候才去下载?

比如游戏有2个场景:启动场景A和游戏场景B,两个场景中分别用到了资源a和资源b;游戏流程是先进入场景A再进入场景B;
如果设置了REMOTE_SERVER_ROOT选项后是下面那种方案?
1、在场景A前就提前检测下载了游戏中的所有资源,然后下载资源a和资源b,再进入场景A;
2、进入场景时候从远端下载了依赖的资源,进入场景A时只下载依赖资源a,进入场景B时只下载依赖资源b。

如果是方案2的话,出现网络异常的时候场景加载是如何处理的?是否有关于REMOTE_SERVER_ROOT详细的说明?

1赞

第一种方案

小游戏会将包首先完整下载,然后再做代码完整的初始化。初始化完之后再去加载远程资源,再去启动场景。

资源加载方案有别于h5的按需加载

第一种,全部下载完后,才启动游戏程序。
参考视频教程 : https://v.qq.com/x/page/c05255stri7.html

1赞

好像是不对的,我自己试验过,是具体需要加载到具体的场景才会加载到该场景需要的远程资源,请问下,能够详细描述下你的结论,我现在也碰到了这样的疑惑。

了解了,谢谢回复

视频之前看过的,谢谢回复

具体的话要看官方怎么说,不过前面的回答是我描述的第一种方案:就是游戏逻辑开始前,先去REMOTE_SERVER_ROOT 服务器检测资源,如果本地不存在的资源就下载带本地缓存中(如何知道有多少资源?应该是在导出发布时已经做好了资源列表管理);如果存在的资源进行md5校验(版本控制),校验通过的资源跳过,不通过的资源覆盖更新,然后在进入到游戏逻辑中,再从本地缓存加载到内存中使用。

为什么我发现是走的方案2呢,我设置了REMOTE_SERVER_ROOT之后,程序是按需加载的,需要什么才加载。并不是方案1中的下载所有资源。