cocos creator资源加载
资源加载是游戏中最常见的功能之一, 并不复杂
1:为什么要用bundle?
cocos2.4版本以前,是没有bundle的.但是有bundle雏形的(编译之后见src/setting.js)
2.4版本以前,所有的资源配置都在src/setting.js里面, 好不好管理? 占不占用宝贵的首屏加载时间?
所以2.4版本以后,就有了bundle, 通过bundle去加载资源
所以就是有通用的加载资源方式,先判断有无bundle,如果没则加载bundle,然后通用bundle去加载资源
2: 为什么不用 bundle.load('imgs/spine.png') 这种形式?
大家都知道, cocos creator加载资源的常见形式是 bundle.load('imgs/spine', cc.SpriteFrame) bundle.load('imgs/spine', cc.JsonAsset)...
是不是路径(不带文件后缀)+类型就能得到资源地址?
是的.那么怎么得到的呢, 是不是存在一个配置文件?
是的.项目中有个配置library/uuid-to-mtime, 编译之后会生成config.json
config.json很重要很重要,是bundle加载的核心
config中有个path的配置, path的包括的就是没有路径的地址+类型
太巧了吧,和资源加载的方式一样了,你说神不神奇
path的键就是uuid, uuid就是资源的核心
也就是通过paths+types可能找到uuid, 通过uuid就能找到asset
抛出一个新问题, config里的uuid一定对应一个资源吗?
3:怎样自定义加载?
现有个需求,需要在cocos creator中显示gif动画(非静态图),
cocos中默认是把gif当图片加载处理的,怎么办?
但是要解析gif的话,是需要解析gif二进制文件的.
4: 加载的文件存在哪里了?
cc.assetManager.assets 控制台里看一下,可以看一下有没有加载成功
远程加载存储时的的值是url地址
非远程加载存储时的的值是uuid
总结:网上cocos creator资源加载相关的资料一大堆,
但是这篇会有一些与众不同, 不是讲的多么复杂,
而是从几个小问题,可以一步一步让你成为资源加载的行家