我大概明白了
这里我应该用cc.loader.loadResAll加载所有图集资源还是一个atlas用一次cc.loader.loadRes,十个atlas用十次?
然后我声明一个数组或者对象,保存加载好的资源(假设我用loadResAll)比如
var allAtlas = [];
cc.loader.loadResAll(“atlas”, cc.SpriteAtlas, function(err, atlases){
for(let i = 0; i < atlases.length; i++){
allAtlas.push(atlases[i]);
}
})
这里问题就来了,如果我用loader.loadResAll,我要通过什么索引去获得指定的图集呢?比如我加载的图集里有个名叫image的图集,我要怎么获取这个图集?或者获得指定图集下的碎图呢?如果我是声明了一个对象来保存所有图集,对象的key和value分别是什么呢?
还有这个
我是怎么知道sheep_run_0这张碎图是在atlases[0]里面还是在atlases[1]里面还是在atlases[2]呢?是根据图集在资源管理器里面的排序吗?
这里是我在进入游戏时加载所有资源(不管是用一次cc.loader.loadResAll还是用很多次cc.loader.loadRes),
然后需要用的时候,比如用户点击更换装备的时候,再次调用cc.loader.loadRes来获取已经加载好的资源吗?
如果是通过这个获取的话,不会重复加载吗(同一个资源加载两次)?
还是说cc.loader.loadRes加载图片A的时候先判断图片A有没有被加载,
如果被加载,cc.loader.loadRes就不会执行任何操作,直接返回图片A,
如果没有加载过图片A,就加载后返回?
是这样吗?