如果我有一个先前已添加到父CCNode或CCLayer的CCSprite,有没有办法更改其父对象?
我尝试过:
[self setParent:newParent];
...
然后:
[parent removeChild:self cleanup:YES];
[newParent addChild:self];
两者都不起作用......后者实际上导致了崩溃。
答案 0 :(得分:1)
我假设在第二种情况下,您将自动释放的对象添加到父级。在这种情况下,从父级删除后将删除精灵,因此您将无法将其添加到另一个父级。试试这个
[self retain];
[self removeFromParentWithCleanup:YES];
[newParent addChild: self];
[self release];
如果出现崩溃错误,请在将来发布崩溃消息。它可以帮助找出问题。
答案 1 :(得分:0)
我认为如果你先删除(NO清理),然后添加到新的父,它应该工作。