2010-11-08 5 views
0

Quelles sont exactement les restrictions sur les feuilles de sprites? L'API référence dit ceci:Question sur les feuilles de sprites cocos2d

A CCSPriteSheet can reference one and only one texture (one image file, one texture atlas). 

Est-ce que cela veut dire que je peux utiliser une grande 512x512 texture avec beaucoup de sprites en elle comme pour une animation, et être encore capable d'utiliser une feuille de sprite pour rendre cela? Même si je peux avoir plusieurs instances de l'image-objet qui sont sur différentes images de l'animation?

Je suis actuellement chargement des textures comme ce

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"fiends.plist"]; 

Et leur assignant comme ce

fiendSprite = [CCSprite spriteWithSpriteFrameName:spriteName]; 

Serais-je en mesure de tirer les sprites en utilisant une feuille de sprite au lieu même si les tours différentes dans la jeu utilisent différentes parties de la grande texture ??

Répondre

0

Tant que vous créez vos sprites enfants de votre feuille de sprite, vous devriez être capable de le faire. Il y a beaucoup d'exemples sur les forums de cocos2d suivant ces lignes, voici un good post pour vous donner un peu plus d'infos.

+0

Est-ce que cela implique également un gain de performance de feuille de sprite? Cela ressemble à obtenir quelque chose pour rien qui se sent un peu faux .. –

+0

Oui, ce gain de performance est la raison pour laquelle les feuilles de sprites existent - c'est une meilleure performance que d'avoir un tas d'images séparées rendues. Voir le 4e article de ce lien qui explique comment cela fonctionne à partir de l'auteur principal de cocos2d. http://www.cocos2d-iphone.org/forum/topic/5370 – slycrel