1.41版本,cc.loader.getRes失效

cc.loader.loadRes 预加载完 调用cc.loader.getRes 返回null了

谢谢反馈,在这个 PR 中已经修复:

https://github.com/cocos-creator/engine/pull/1569

1.4.2 版本就正常了

从远程服务器加载图集资源(plist),怎样得到里面的一张张图片

// 加载 SpriteAtlas(图集),并且获取其中的一个 SpriteFrame
// 注意 atlas 资源文件(plist)通常会和一个同名的图片文件(png)放在一个目录下, 所以需要在第二个参数指定资源类型
cc.loader.loadRes(“test assets/sheep”, cc.SpriteAtlas, function (err, atlas) {
var frame = atlas.getSpriteFrame(‘sheep_down_0’);
sprite.spriteFrame = frame;
});

这是本地获取,我说的是从远程服务器网络加载获取,谢谢

就我所知,这必须要利用动态热更新方式下载assest然后在本地做挂载动作…

后期我也需要这个功能,这就尴尬了

看了一下 1.4.2 没有来得及合并进去,目前建议的解决方案是给 loader polyfill 上正确的实现:

cc.loader.getRes = function (url, type) {
    var item = this._cache[url];
    if (!item && url) {
        var uuid = this._getResUuid(url, type, true);
        if (uuid) {
            var ref = this._getReferenceKey(uuid);
            item = this._cache[ref];
        }
        else {
            return null;
        }
    }
    if (item && item.alias) {
        item = this._cache[item.alias];
    }
    return (item && item.complete) ? item.content : null;
}

保证这段代码在你执行 getRes 之前被执行即可

1.4.3 什么时候发布呢。会进行merge吗