Cocos2d CCSprite Class получает имя файла изображения - PullRequest
5 голосов
/ 06 сентября 2010

Я могу инициализировать или создать новый объект CCSprite, используя следующий код:

NSString *fileName = [[imagesPath objectAtIndex:i] lastPathComponent];
        CCSprite *sprite = [CCSprite spriteWithFile:fileName];

Теперь, есть ли способ позже узнать имя файла изображения, используемого для конкретного объекта CCSprite?

ОБНОВЛЕНИЕ 1:

свойство userData выглядит интересно!

Ответы [ 2 ]

7 голосов
/ 07 сентября 2010

Нет. CCSprite не сохраняет имя файла.

Но, как вы заметили, вы можете повесить все, что захотите, от свойства userData - убедитесь, что вы правильно управляете временем его жизни. Другие варианты - использовать подклассы или композицию с CCSprite и другими игровыми классами, чтобы вы могли отслеживать дополнительные данные.

1 голос
/ 27 февраля 2014

Если вам просто нужно имя файла, вы можете использовать это:

GameSprite *spriteLogo = [GameSprite spriteWithFile:@"Logo.png"];
[spriteLogo setUserObject:@"Logo.png"];

И когда вы хотите получить имя файла, используйте это:

NSLog(@"%@", sprite.userObject);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...