给定一个CCSprite
如何访问NSString
精灵的文件名?例如,如果
CCSprite* sprite;
然后是一些方法或获取器来返回sprite
NSString 文件名。
给定一个CCSprite
如何访问NSString
精灵的文件名?例如,如果
CCSprite* sprite;
然后是一些方法或获取器来返回sprite
NSString 文件名。
没有办法做到这一点。CCSprite 与任何实例一样,一旦编译代码,就不会保留太多名称和人类可读的东西。
然而,在 Cocos2D 编程中,将 CCSprite 类子类化以添加一些附加属性(如敌人的点等)是很常见的。如果您创建自己的 SpriteClass,您可以添加一个 NSString 属性“名称”,您可以在创建时设置精灵。例如
CCSprite *sprite = [[CCSprite alloc] initWithTexture:someTexture name:@"sprite"];
为了使其健壮,您可能应该创建所有包含的 initMethods 的版本,并添加 name 参数,并在传入 nil 时引发异常。
尽管这接近于解决您的问题,但我仍然建议您不要这样做。它不是特别优雅,字符串检查容易出现打字错误等。如果我是你,我真的会尝试找到其他方法来识别你的精灵。
也许如果您告诉我们更多关于您想要实现的目标,我们可以找到更好的解决方案?