2008-11-26 5 views
2

J'utilise cocos2d-iphone pour placer des sprites sur un calque pour configurer un terrain de jeu. À certains moments du jeu, certains Sprites doivent être retirés en fonction des conditions du jeu. Ce que je voudrais faire est de configurer un tableau de pointeurs Sprite, mais j'ai deux questions:IPhone et Cocos2d Sprites/Layers

Quelle est la meilleure façon de placer des pointeurs Sprite dans un tableau?

Comment supprimer le Sprite dans cocos2d avec seulement un pointeur sur le Sprite? Je sais comment le faire à partir de sa couche parente, mais c'est trop intensif pour la boucle de jeu principale.

Merci d'avance!

+0

N'hésitez pas à accepter votre propre réponse plutôt que la mienne. Au son des choses, vous avez réussi à le faire fonctionner en utilisant votre méthode, et je ne serai pas offensé! :) –

Répondre

3

La Sprite classe hérite de CocosNode, vous devriez donc pouvoir appeler spritePointer.parent.remove(spritePointer)

2

I figured it out. Si quelqu'un d'autre est intéressé, la façon de le faire est de déclarer un tableau de pointeurs Sprite, tels que:

Sprite * mySprites[10][10]; // assuming a 10x10 playfield where obstacles get placed 

Ensuite, lors de la création sprites:

mySprites[0][0] = [Sprite spriteWithFile: @"obstacle.png"]; 
[myLayer add:mySprites[0][0]]; 

Pour supprimer le Sprite:

[myLayer remove:mySprites[0][0]]; 
2

Il existe également [mySprite removeFromParentAndCleanup:YES].

Questions connexes