2

我是新手SpriteKit,刚刚制作了我的第一款游戏。在 iOS 7.1 之前,一切都运行良好。现在,经过几次提升到一个新的水平并呈现一个新的Scene,它崩溃了。我不认为我以不正确的方式呈现它:

ZSSMyScene *nextLevel = [[ZSSMyScene alloc] initWithSize:self.size level:self.level score:score];
[self.view presentScene:nextLevel];

我收到一个EXC_BAD_ACCESS错误,看起来它正在发生removeSubsprite,但我在我的代码中找不到要删除子精灵的任何地方:

在此处输入图像描述

不确定要提供哪些其他信息,因为这只是我更新到 iOS 7.1 SDK 时似乎开始的一个晦涩错误。

4

1 回答 1

1

这似乎是一个错误,可能只有 SKShapeNodes。

我的解决方案是创建一个 SKNode 类别并在我要删除的任何节点有子节点时调用此清理方法。

- (void)cleanUpChildrenAndRemove {
    for (SKNode *child in self.children) {
        [child cleanUpChildrenAndRemove];
    }
    [self removeFromParent];
}
于 2014-05-09T17:41:35.903 回答