2010-09-06 6 views
5

Je peux initialiser ou créer un nouvel objet CCSprite en utilisant le code suivant:Cocos2d CCSprite classe obtenir le nom du fichier image

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

Maintenant, est-il de toute façon de trouver plus tard le nom du fichier d'image utilisé pour l'objet CCSprite particulier?

MISE À JOUR 1:

propriété userData semble intéressant!

Répondre

7

Non CCSprite ne conserve pas le nom de fichier. Mais comme vous l'avez remarqué, vous pouvez bloquer ce que vous voulez de la propriété userData - assurez-vous de gérer correctement sa durée de vie. D'autres options sont d'utiliser le sous-classement ou la composition avec CCSprite et vos autres classes de jeu afin que vous puissiez garder une trace des données supplémentaires.

1

Si vous avez juste besoin de nom de fichier, vous pouvez utiliser ceci:

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

Et quand vous voulez récupérer le nom de fichier, utilisez ceci:

NSLog(@"%@", sprite.userObject); 
Questions connexes