1.4.3 loadRes加载plist下某一个指定的frame

如果我的test.plist下有a.png和b.png,那么我如何指定只加载b.png这个子frame呢?以前的老版本貌似可以直接写上路径就可以加载了,比如texture/test.plist/b就可以了,现在却报错,路径不存在。

发帖前请先 搜索 是否有相关帖子: http://forum.cocos.com/search?q=category%3Acreator%20
已经在论坛提交的内容,请勿重复在 QQ 上私信或 @ 开发者,除非你能确定错误和对方有关
常见问题可先查看 FAQ: http://forum.cocos.com/t/faq-8-29/35510 或者在 Q 群咨询

反馈 Bug 时记得提供:

Creator 版本号:
运行时目标平台:(Web/iOS/Android/模拟器)
手机浏览器平台:(机型,浏览器)
操作系统:(编辑器错误)
详细报错信息,包含调用堆栈:
编辑器之前是否有其它报错:
做了什么操作引起的 Bug:
偶发 bug 的概率和额外线索:(重现几率/场景节点规模/项目资源规模)

标题请提高主题相关性,例如:
《1.3.1 升级 1.4 问题》 可改成 《1.3.1 升级 1.4 后提示脚本找不到》
《不明白这句提示是什么意思,求解》 可改成 《模拟器报错 QuadCommand: resizing index size from …》

最后,标题建议温和一点:
《急!!creator jsb 能否手动GC,卡顿严重》 可改成 《creator jsb 能否手动GC,卡顿严重!》
《CocosCreator 严重Bug(触控的过来看看)》 可改成 《BitmapFont 路径报错,必现!》

其他讨论和建议,请删除上述全文后正常发帖

1赞
cc.loader.loadRes("texture/test/b", function (err, frame) {
    sprite.spriteFrame = frame;
});

或者

cc.loader.loadRes("texture/test", cc.SpriteAtlas, function (err, atlas) {
    var frame = atlas.getSpriteFrame('b');
    sprite.spriteFrame = frame;
});

上面那种方式,没法指定子图集,加载好后默认显示的是atlas中第一个frame图。

不好意思,路径写错了,已更新

经过测试,仍然不行啊,报错信息如下: Error: Resources url “Texture/D31_u/nun1” does not exist.

这里文件名对应帖子中 texture/test/b 的路径,说不存在??

抱歉,我记错了,我一开始是实现了这个功能…… 后来提交时去掉了。现在只能加载 main asset,再通过 main asset 自行获取 sub asset

还是不会用啊

Hi
How can we load plist remotely using cc.loader.load(url, function(err, texture){
sprite.SpriteFrame = new CC.SpriteAtlas(texture).getSpriteFrame('a);
})

Sorry you can’t