Cocos2d iphone 在cocos2d中添加和删除精灵时崩溃

Cocos2d iphone 在cocos2d中添加和删除精灵时崩溃,cocos2d-iphone,Cocos2d Iphone,我做错了什么,也许有人能帮我 当应用程序启动时,我将从DB添加一个精灵,如下所示: b_pic=[CCSprite spriteWithFile:basic_pic]; b_pic.position=ccp(160,175); [self addChild:b_pic]; 然后我做一些事情,并运行动画,因此在动画开始之前,我使用以下方法移除精灵: [b_pic.parent removeChild:b_pic cleanup:YES]; [self removeChild:b

我做错了什么,也许有人能帮我

当应用程序启动时,我将从DB添加一个精灵,如下所示:

b_pic=[CCSprite spriteWithFile:basic_pic];
    b_pic.position=ccp(160,175);
    [self addChild:b_pic];
然后我做一些事情,并运行动画,因此在动画开始之前,我使用以下方法移除精灵:

[b_pic.parent removeChild:b_pic cleanup:YES];
[self removeChild:b_pic cleanup:YES];
然后我试图把它加回去,但它崩溃了。我加上:

b_pic=[CCSprite spriteWithFile:@"regular.png"];
    b_pic.position=ccp(160,175);
    [self addChild:b_pic];
我做错了什么? 我不能理解孩子和父母之间的关系

我还尝试用以下方法移除雪碧:

[b_pic.parent removeChild:b_pic cleanup:YES];
[self removeChild:b_pic cleanup:YES];

非常感谢。

精灵是cocos2d中的自动释放对象。所以当你移除精灵的时候,清理应该不会像这样

[self removeChild:b_pic cleanup:NO];

它是否在[b_pic.parent removeChild:b_pic cleanup:YES]上崩溃;?尝试[自我清除儿童:b_pic cleanup:Yes];你的崩溃堆栈看起来像什么,或者它到底在哪里崩溃?对于我来说,cocos2d最常见的崩溃是当我过早地移除一个精灵时,有东西调用它。