2011-06-07 2 views
1

touscomment embeed multiple feuille de sprite animation CCSpriteFrameCache dans cocos2d

Je veux embeed plusieurs cache spriteFrame en utilisant le code suivant.

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

// Create a sprite sheet with the Happy Bear images 
CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"abc.png"]; 
[self addChild:spriteSheet]; 

le problème est que, après le 1er animation est la couverture que je veux faire une autre animation par un autre ccsprite cache FRAM, et ajouter une autre feuille de sprite, mais quand j'ajoute une autre feuille de sprite il me donnera sigerbat Erreur.

comment puis-je faire de l'animation multiple après une couverture d'animation puis la deuxième animation commencera, rappelez-vous qu'il ya 4 fichier CCSpriteFrameCache (par exemple ,. 4 fichier plist)

Répondre

4

Tous CCSprite ajouté à un CCSpriteBatchNode doit utiliser la même texture. Donc, ce que vous essayez d'accomplir n'est pas possible parce que vous essayez d'ajouter des images à partir de 4 textures différentes. Si vous vérifiez la console (dans les versions de débogage), vous trouverez un message indiquant quelque chose à cet effet.

La solution: utilisez un CCSpriteBatchNode pour chaque texture (chargé via CCSpriteFrameCache plist). Vous devrez écrire plus de code mais c'est la seule façon de le faire, à part de ne pas utiliser CCSpriteBatchNode.

Vous pouvez effectuer un test de performances pour vérifier si vous avez réellement besoin du CCSpriteBatchNode. Par exemple, si vous n'affichez AUCUNE image-objet à partir de la même texture à la fois, vous n'avez pas besoin de CCSpriteBatchNode. Cela ne fait qu'améliorer les performances si vous avez plusieurs sprites (et beaucoup) à l'écran et que tous utilisent la même texture.

+0

thnx pour la réponse GamingHorror, je vais essayer de le faire .. et vous répondre .. peut-il est possible que vous pouvez me donner votre mail ajouter, ou skype naem .. de sorte que si un problème se produit alors je peux demander avec vous? répondre –

+0

vous pouvez PM moi sur Cocos2D Central: http://cocos2d-central.com – LearnCocos2D

+0

Je vous envoie par courriel Thorough, vous pouvez voir ce http://cocos2d-central.com/topic/430-how-to-embeed-multiple -sprite-sheet-animation-in-cocos2d / –

Questions connexes