IPhone и Cocos2d спрайты / слои - PullRequest
2 голосов
/ 26 ноября 2008

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

Как лучше всего разместить указатели Sprite в массиве?

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

Заранее спасибо!

Ответы [ 3 ]

3 голосов
/ 26 ноября 2008

Класс Sprite наследуется от CocosNode, поэтому вы должны иметь возможность вызывать spritePointer.parent.remove(spritePointer)

2 голосов
/ 27 мая 2012

Там также [mySprite removeFromParentAndCleanup:YES].

2 голосов
/ 26 ноября 2008

Я понял это. Если кому-то еще интересно, способ сделать это - объявить массив указателей 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]];  

Чтобы удалить Спрайт:

[myLayer remove:mySprites[0][0]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...