Cc.loader.getRes 获取不到已经加载的资源

代码附上,getRes的值是null,我照着这个同学的帖子用的,记得好像上午1.0.3都好像能用,更新了1.1.0就没用了,是我操作有问题?我知道获取spriteFrame用atlas.getSpriteFrame,因为有可能我会在其他地方获取加载的资源,或者获取不同类型的资源,应该必须用cc.loader.getRes

是不应该加上路径和类型的原因?

没理解你说的:是不应该加上路径和类型的原因?:joy:

我也不是很清楚 api里貌似这条没有了

:joy:
要是加载指定的那个plist 然后设置类型为spriteframe应该可以 就是不知道还满足你的需求不能

我现在是想在某个地方把所有资源全部加载好,再在另一个地方用cc.loader.getRes把加载好的资源取出来,并不是加载好了马上就进行操作:sweat_smile:

@nantas @wangzhe现在有空的话帮我看看我这个

人工置顶,是我操作有问题还是这个接口废弃了?

为啥没人来呢,是不是我没有正确使用API啊,求大神告知

别急哈,等相关工程师来了帮你确认,在此之前你可以用 atlas.getSpriteFrame 接口嘛,效果一样的

var spfm = atlas.getSpriteFrame('mjs001-1000');

getRes 需要传入资源的加载路径,对于 sprite frame 来说资源的路径是不可见的,所以没办法获得。

大神,是这样的,我有将近两百张atlas,虽然加载很慢,但是我的想法是进入场景的时候就加载完,然后要用的时候直接取出来就行了,如果我用变量保存的话我觉得有点浪费内存,所以想问问这个api

http://forum.cocos.com/t/topic/36948

大神,根据这个同学的方法,我记得我昨天和今天早上好像都用过啊,难道是我记错了:sweat_smile:

难道我只能在loadRes的回调里 对加载好的资源进行保存 之后 才能使用吗?

可不可以先加载,需要用的时候再获取出来?

还有比如我现在用loader.loadResAll加载一个文件夹下所有的资源,我现在用getRes能获取到单独的spriteFrame

但是如果我加载一个atlas

cc.loader.loadRes(“test assets/atlas”)

,然后getRes
cc.loader.getRes(“test assets/atlas”)

得到的是一个Texture2D类型的对象,这时我给怎么获取atlas里面的碎图呢?

我找过文档和API,没有找到相关的说明,希望大神耐心讲解,或者完善下文档,文档里只讲如果加载资源,没有讲怎么获取:sweat_smile:

以前用cocos2dx,刚刚接触creator,觉得是非常好的开发工具,一般有问题我会先看文档,API,不行我就看示例工程,再找不到的,或者有疑问的我才会来论坛发帖,我问题比较多,望大神谅解

确实,creater现在获取spriteFrame很不方便,以前2dx加载好了后,可以直接走SpriteFrameCache中直接获取,我查看了源码,现在spriteFrame不是走SpriteFrameCache这个里面获取,不知道,当初你们设计的时候为什么没有沿用2dx的这种方法!而且现在的sprite组件没有直接设置文件路径就可以改变spriteFrame的方法(sprite->setSpriteFrame(“xxx.png”))!只能去设置spriteFrame

你好,在功能性这块,我们的目标是把资源管理统一起来,而不是每个资源自己一套加载方式,自己一套缓存方法。统一的好处是对所有资源一视同仁,降低新用户学习成本,方便用户自定义资源类型或资源插件。
至于你提到的那些便利性的 API,我们会在功能性完善后有节制地加入。

1赞

大神你好,我就想问问,如果我用loadResAll加载一个文件夹下的所有资源,我要怎么获得其中一张atlas 的其中一张碎图呢?

更新到1.1.0版本后,用cc.loader加载的资源就发生了变化,现在只能等待官方更新文档和API了

请用

cc.loader.loadResAll("atlas", cc.SpriteAtlas, function (err, atlases) {
    var atlas = atlases[0];
    var frame = atlas.getSpriteFrame('sheep_down_0');
    sprite.spriteFrame = frame;
});
1赞

大神,我是想在加载场景的时候加载所有atlas,或者加载某一个文件夹下的所有atlas,但是暂时不用,留着以后用,如果你照你这个方法,就只有加载完成用变量或者数组保存下来?还有加载好后我怎么判断数组里的哪一个元素是我需要的?是uuid还是name还是url?

咱俩掉同一坑了