Добавление объектов с дублирующимися тегами в Cocos2D - PullRequest
0 голосов
/ 25 февраля 2012

Я пытаюсь удалить дочерний элемент из CCLayer, а затем немедленно повторно добавить его.

[player setTag:kPlayerSpriteTag];
[self addChild:player];
[[self getChildByTag:kPlayerSpriteTag] removeFromParentAndCleanup:YES]; 
[self addChild:player]; 

Однако это приводит к ошибке: "дочерний элемент уже добавлен. Его нельзя добавитьснова "

Не удается ли правильно удалить ребенка из CCLayer?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2012

Попробуйте

1002 *
0 голосов
/ 25 февраля 2012

Единственное возможное объяснение, которое я могу найти, заключается в том, что у вас есть дублированные теги в дереве узлов.

В этом случае [self getChildByTag:kPlayerSpriteTag] просто вернет первый узел с getChildByTag:kPlayerSpriteTag, который можетможет отличаться от player.

Если вы используете теги для извлечения узлов, вы должны убедиться, что они уникальны.

...