如何在cocos2d中以字符串形式获取sprite的图像文件路径?
是否有专门用于此操作的类或方法?最简单和最简单的方法将不胜感激。
答案 0 :(得分:4)
你必须得到精灵的纹理(CCTexture2D
或CCTextureAtlas
)。它对CCTextureCache
textures
中的某个字符串键有价值。这把钥匙就是你的道路。
正如我在Cocos2d中看到的那样,CCTextureCache
没有属性/方法来访问其纹理,所以你需要扩展它(例如在类别中):
@interface CCTextureCache (getTexturePath)
-(NSString*) getTexturePath: (Texture2D*) texture;
@end
@implementation CCTextureCache (getTexturePath)
-(NSString*) getTexturePath: (Texture2D*) texture
{
return [[[textures allKeysForObject: texture] lastObject];
}
@end
所以,要获得一些sprite的路径:
NSString* path = [[CCTextureCache sharedTextureCache] getTexturePath: [mySprite texture]];