Cocoas2d получить спрайт от CGPoint - PullRequest
0 голосов
/ 23 апреля 2011

Я использую следующий код для инициализации объекта

CCSprite *gridp = [CCSprite spriteWithFile:@"grid.png" 
                                               rect:CGRectMake(0, 0, 60, 60)];
gridp.position = ccp(x, y);

Мой вопрос: как я могу удалить спрайт после добавления объекта и после возврата функций? Я предполагал, что CGPoint получит выгоду, но я не нашел ничего подобного. Я не могу хранить ссылки на все объекты, так как игра генерирует несколько сотен из них во время выполнения.

Ответы [ 4 ]

1 голос
/ 24 апреля 2011

Чтобы удалить ребенка:

[self removeChild:yourSprite cleanup:YES];

Удалить по тегу:

Сначала необходимо указать тег для вашего спрайта:

[self addChild:yourSprite z:0 tag:1];

Затем, чтобы удалить его:

[self removeChildByTag:1 cleanup:YES];

Как и другие говорили, вам нужно написать собственную функцию для удаления спрайта на основе его позиции.

Надеюсь, это помогло,

~~ Tate

0 голосов
/ 23 апреля 2011

Кроме того, если вы назначите тег для спрайта, его можно удалить с помощью

[self getChildByTag: spriteName]

0 голосов
/ 24 апреля 2011

А для удаления спрайта вы используете [self removeChild: sprite cleanup: YES];

0 голосов
/ 23 апреля 2011

Нет способа получить спрайт только по позиции ... если вы не напишите функцию, которая делает это, и для этого вам нужны ссылки на ваши спрайты ...

Вы должны добавить спрайты к узлу, чтобы отобразить их ... и узел всегда имеет ссылку на все его дочерние элементы. Вы можете пройти через массив children, чтобы удалить узлы, которые хотите удалить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...