cc.resource.load 使用问题

  • Creator 版本:2.4.0
    let resArr = [];
    resArr.push(“prefab/monster/monster_10001”);
    resArr.push(“prefab/monster/monster_10002”);
    resArr.push(“prefab/monster/monster_10003”);
    cc.resources.load(resArr,cc.Prefab,(completedCount,totalCount,item)=>{},(err,res)=>{
    });
    如果是批量加载资源,相对同一种asset可以正常加载,

let resArr = [“map/level2”,“prefab/battle/tiledtile”,“map/res”];
let typeArr = [cc.TiledMapAsset,cc.Prefab,cc.SpriteAtlas];
cc.resources.load(resArr, typeArr, null, (err, res)=> {

});

但是如果要批量加载不同类型的资源,这样就会报错,2.3.3的cc.loader.loadResArr是可以正常加载的,不知道2.4.0是不是有其他的方法可以这样批量加载不同类型的资源

我也发现了,直接浏览器打开链接没问题,换成cc.resources.load就报错

正常啊没啥问题,小游戏和网页运行都正常,你是不是设置的路径有问题

多谢,我删了library+temp文件夹,又试了一次,确实可以了。

指定加载类型的话不可以呢

可以使用更灵活的接口 loadAny 来实现

let assets = [ 
{ path: 'map/level2', type: cc.TiledMapAsset }, 
{ path: 'prefab/battle/tiledtile', type: cc.Prefab }, 
{ path: 'map/res', type: cc.SpriteAtlas } 
];
cc.assetManager.loadAny(assets, { bundle: 'resources' }, null, callback);
2赞

使用loadAny 加载 prefabs 包下的notice/notice.prefab
提示出错信息:cc.assetManager.loadAny err:unknown input:[object Object]
代码如下:
cc.assetManager.loadAny({‘path’:“notice/notice”, ‘type’:cc.Prefab,‘bundle’: ‘prefabs’},(err,assets)=>{
if(err){
console.log(“cc.assetManager.loadAny err:%s”,err.message)
return
}
cc.log(“done!!!”)
});
而使用loadAny 加载 resouces下的资源则正常,
请问loadAny 是否只能加载 resources bundle 下的资源?

顶你,没人回复呢

loadAny接口太灵活了,requests和options2个参数对象够喝一大壶的。代码测试有效。

所有 bundle 都行,只是对应 bundle 需要提前加载好


楼主使用的是红色框的重载
多个不同类型的使用绿色的那个重载
是这样吧?