【问题标题】:crash when add and remove sprite in cocos2d在 cocos2d 中添加和删除精灵时崩溃
【发布时间】:2013-12-20 14:21:23
【问题描述】:

我做错了,也许有人可以帮助我。

当应用程序启动时,我从 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];

然后我试图将其添加回来,但它崩溃了。我添加它:

b_pic=[CCSprite spriteWithFile:@"regular.png"];
    b_pic.position=ccp(160,175);
    [self addChild:b_pic];

我在这里做错了什么? 我无法理解这个孩子和父母的事情。

我也尝试过删除精灵:

[self removeChild:b_pic cleanup:YES];

非常感谢。

【问题讨论】:

  • 它是否在 [b_pic.parent removeChild:b_pic cleanup:YES]; 上崩溃?尝试 [self removeChild:b_pic cleanup:Yes];
  • 您的崩溃堆栈是什么样的,或者它究竟在哪里崩溃?对我来说,使用 cocos2d 时,当我过早移除精灵时,它通常会崩溃。

标签: cocos2d-iphone


【解决方案1】:

sprite 是 cocos2d 中的一个自动释放对象。所以当你删除精灵时,CleanUp 应该是 NO 像这样......

[self removeChild:b_pic cleanup:NO];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多