我是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时开始的。
答案 0 :(得分:1)
这似乎是一个错误,可能只有SKShapeNodes。
我的解决方案是创建一个SKNode类别,并在我删除的任何节点都有子节点时调用此清理方法。
- (void)cleanUpChildrenAndRemove {
for (SKNode *child in self.children) {
[child cleanUpChildrenAndRemove];
}
[self removeFromParent];
}