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

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

没理解你说的:是不应该加上路径和类型的原因?
我现在是想在某个地方把所有资源全部加载好,再在另一个地方用cc.loader.getRes把加载好的资源取出来,并不是加载好了马上就进行操作
人工置顶,是我操作有问题还是这个接口废弃了?
为啥没人来呢,是不是我没有正确使用API啊,求大神告知
别急哈,等相关工程师来了帮你确认,在此之前你可以用 atlas.getSpriteFrame 接口嘛,效果一样的
var spfm = atlas.getSpriteFrame('mjs001-1000');
getRes 需要传入资源的加载路径,对于 sprite frame 来说资源的路径是不可见的,所以没办法获得。
大神,是这样的,我有将近两百张atlas,虽然加载很慢,但是我的想法是进入场景的时候就加载完,然后要用的时候直接取出来就行了,如果我用变量保存的话我觉得有点浪费内存,所以想问问这个api
http://forum.cocos.com/t/topic/36948
大神,根据这个同学的方法,我记得我昨天和今天早上好像都用过啊,难道是我记错了
难道我只能在loadRes的回调里 对加载好的资源进行保存 之后 才能使用吗?
可不可以先加载,需要用的时候再获取出来?
还有比如我现在用loader.loadResAll加载一个文件夹下所有的资源,我现在用getRes能获取到单独的spriteFrame
但是如果我加载一个atlas
cc.loader.loadRes(“test assets/atlas”)
,然后getRes
cc.loader.getRes(“test assets/atlas”)
得到的是一个Texture2D类型的对象,这时我给怎么获取atlas里面的碎图呢?
我找过文档和API,没有找到相关的说明,希望大神耐心讲解,或者完善下文档,文档里只讲如果加载资源,没有讲怎么获取
以前用cocos2dx,刚刚接触creator,觉得是非常好的开发工具,一般有问题我会先看文档,API,不行我就看示例工程,再找不到的,或者有疑问的我才会来论坛发帖,我问题比较多,望大神谅解
确实,creater现在获取spriteFrame很不方便,以前2dx加载好了后,可以直接走SpriteFrameCache中直接获取,我查看了源码,现在spriteFrame不是走SpriteFrameCache这个里面获取,不知道,当初你们设计的时候为什么没有沿用2dx的这种方法!而且现在的sprite组件没有直接设置文件路径就可以改变spriteFrame的方法(sprite->setSpriteFrame(“xxx.png”))!只能去设置spriteFrame
你好,在功能性这块,我们的目标是把资源管理统一起来,而不是每个资源自己一套加载方式,自己一套缓存方法。统一的好处是对所有资源一视同仁,降低新用户学习成本,方便用户自定义资源类型或资源插件。
至于你提到的那些便利性的 API,我们会在功能性完善后有节制地加入。
大神你好,我就想问问,如果我用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;
});
大神,我是想在加载场景的时候加载所有atlas,或者加载某一个文件夹下的所有atlas,但是暂时不用,留着以后用,如果你照你这个方法,就只有加载完成用变量或者数组保存下来?还有加载好后我怎么判断数组里的哪一个元素是我需要的?是uuid还是name还是url?
咱俩掉同一坑了