2008-11-26 5 views
2

Я использую cocos2d-iphone для размещения Sprites на слое, чтобы настроить игровое поле. В определенные моменты игры некоторые спрайты должны быть удалены в зависимости от условий игры. То, что я хотел бы сделать, это настроить массив указателей Sprite, но у меня есть два вопроса:IPhone и Cocos2d Sprites/Layers

Каков наилучший способ размещения указателей Sprite в массиве?

Как удалить Sprite в cocos2d только указателем на Sprite? Я знаю, как это сделать с родительского уровня, но это слишком интенсивное время работы для основного игрового цикла.

Заранее благодарен!

+0

Пожалуйста, не стесняйтесь принимать свой собственный ответ вместо моего. По звуку вещей вы смогли заставить его работать с помощью вашего метода, и я не буду обижаться! :) – 2009-10-13 18:45:52

ответ

3

Sprite класс наследует от CocosNode, так что вы должны быть в состоянии назвать spritePointer.parent.remove(spritePointer)

2

Я понял это. Если кто-то заинтересован, то, как это сделать, это объявить массив Sprite указателей, таких как:

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

Затем при настройке спрайтов:

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

Чтобы удалить Sprite:

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