如何访问CCSprite的NSString文件名

时间:2013-11-10 18:14:54

标签: objective-c cocos2d-iphone nsstring

给定CCSprite如何访问精灵的NSString文件名?例如,如果

CCSprite* sprite;

然后一些方法或getter返回sprite NSString文件名。

1 个答案:

答案 0 :(得分:0)

没有开箱即用的方法。与任何实例一样,CCSprite在编译代码后不会保留名称和人类可读的内容。

然而,在Cocos2D编程中,将CCSprite类子类化以添加一些额外的属性(比如敌人的点等)是很常见的。如果你创建自己的SpriteClass,你可以添加一个NSString属性" name"你可以在创建精灵时设置它。 e.g。

CCSprite *sprite = [[CCSprite alloc] initWithTexture:someTexture name:@"sprite"];

为了使其健壮,您应该创建所有包含initMethods的版本,并添加name参数,并在传入nil时引发异常。

尽管这可以解决您的问题,但我仍然建议不要这样做。它不是特别优雅,字符串检查容易打字错误等。如果我是你,我真的想找到一些其他方法来识别你的精灵。

也许如果你告诉我们更多关于你想要实现的目标,我们可以找到更好的解决方案吗?