请问creator 2.0.5怎么在Runtime获取sprite的图集

在1.9.3 我是通过"_textureFilename"字段加载spriteframe所在的atlas,但是在2.0之后_textureFilename的结构改变了,编程了一个RefID,现在项目从1.9升级到2.0卡在了这里
@jare @panda

不知道下面是不是你想要的,代码中动态获取图集中的SpriteFrame

//异步加载图集
cc.loader.loadRes('test_assets/atlas', cc.SpriteAtlas, (err, atlas) => {
    //通过名字获取图集中的精灵帧
    let spriteFrame = atlas.getSpriteFrame('sheep_run_0');
    //修改精灵组件
    this.sprite.spriteFrame = spriteFrame;
})

注意,动态加载的资源要放在resources目录下。

不,我要的是直接通过精灵找到所对应的图集,类似于unity中ngui中直接设置精灵名称达到换图片的目的

不好意思,我没用过unity。
如果是想通过精灵名字换图片,可以将上面的代码封装成一个组件,将图集中的文件名包装成组件的属性,可以达到通过名字换图片的功能。

let atlas = sprieNode.getComponent(cc.Sprite)._atlas;
cc.log(atlas);
注意只有在editor下才有值,方便用于编辑器做关卡

结构大概这样:
cc_SpriteAtlas {
_name: ‘pick_objs.plist’,
_objFlags: 0,
_native: ‘’,
_spriteFrames: {
‘2_6’: cc_SpriteFrame {
_name: ‘2_6’,
_objFlags: 0,
_native: ‘’,
loaded: true,
_nativeUrl: ‘’,
_ref: 1,
_callbackTable: [Object: null prototype] {},
_rect: [Rect],
uv: [Array],
_texture: [cc_Texture2D],
_original: null,
_offset: [Vec2],
_originalSize: [Size],
_rotated: false,
_flipX: false,
_flipY: false,
vertices: undefined,
_capInsets: [Array],
uvSliced: [Array],
_atlasUuid: ‘8c4c2576-d88b-42be-90fb-c73794d75e5b’,
depends: undefined,
asyncLoadAssets: false,
onLoadInvoked: true
},
‘2_5’: cc_SpriteFrame {
_name: ‘2_5’,
_objFlags: 0,
_native: ‘’,
loaded: true,
_nativeUrl: ‘’,
_ref: 1,
_callbackTable: [Object: null prototype] {},
_rect: [Rect],
uv: [Array],
_texture: [cc_Texture2D],
_original: null,
_offset: [Vec2],
_originalSize: [Size],
_rotated: true,
_flipX: false,
_flipY: false,
vertices: undefined,
_capInsets: [Array],
uvSliced: [Array],
_atlasUuid: ‘8c4c2576-d88b-42be-90fb-c73794d75e5b’,
depends: undefined,
asyncLoadAssets: false,
onLoadInvoked: true
},
loaded: true,
_nativeUrl: ‘’,
_ref: 0,
depends: undefined,
asyncLoadAssets: undefined,
onLoadInvoked: true
}