最近刚入坑,使用cocos creator开发一个微信小游戏。详细阅读了文档,也写了demo之后,关于资源加载这一块有个疑问。
先说下我的需求背景:
我的小游戏有两个场景:loading场景+游戏主场景;初始场景是loading场景,显示一个进度条,产品希望在这个时机下载游戏场景的所有资源。
那么问题来了:如何才能手动预下载所有资源呢?
我的正常思路就是在loading场景调用wx.downloadFile函数,把资源包下载到设备上保存在用户目录,然后调用api去加载。
然后我就去找这样的一个api。
官方文档上面动态加载资源有两个api:
cc.loader.loadRes:这个api只支持动态加载resources目录下的任意类型资源(prefab、anim、mp3、png等),不能满足我的要求。
cc.loader.load:这个api支持远程加载资源,但是只支持图片类型。依旧不能满足我的要求,因为我下载下来的资源包里有很多预制体和动画
然后我就懵逼了。。。不知道怎么办了。。求求官方大佬指条明路。。(哭
==========
可能很多人说用cocos封装好的wxdownloader,把构建好的项目目录下的res文件夹放到服务器,然后设置wxDownloader.REMOTE_SERVER_ROOT=服务器地址。这种方式方便是方便,完全托管给cocos去做了。但是也有无法解决的问题,就是这种方式不能预加载,而是在使用资源的时候才会触发去下载,造成第一次进入游戏或者资源有更新的的时候体验很差。。。我还试过把res目录预下载到设备上,然后把wxDownloader.REMOTE_SERVER_ROOT的值赋为本地保存目录。。。然而并不行。。。