得到一个cocos2d精灵图像路径

时间:2011-12-16 06:41:05

标签: objective-c string image cocos2d-iphone

如何在cocos2d中以字符串形式获取sprite的图像文件路径?

是否有专门用于此操作的类或方法?最简单和最简单的方法将不胜感激。

1 个答案:

答案 0 :(得分:4)

你必须得到精灵的纹理(CCTexture2DCCTextureAtlas)。它对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]];