Вопрос

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

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

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

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

Это было полезно?

Решение

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

Другие советы

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

Существует также [mySprite removeFromParentAndCleanup: YES] .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top