0

在尝试销毁 SKShapeNode 时,我遇到了一些奇怪的 sprite kit 问题。下图是堆栈跟踪的摘录。

有没有人见过这个?使用 SKSpriteNodes 时(即,当 BAJoint 是 SKSpriteNode 而不是 SKShapeNode 时,我似乎没有遇到这个问题。

在此处输入图像描述

此外,如果您查看堆栈跟踪,您将看到对 SKEffectNode 的 dealloc 的调用。我没有在我的应用程序的任何地方以任何形状或形式使用 SKEffectNodes,所以我很困惑为什么要调用 SKEffectNode dealloc。

4

1 回答 1

2

有同样的问题,但最后我已经解决了。我把链接留在这里

SKShapeNode 有时会在 dealloc EXC_BAD_ACCESS 上产生崩溃

解决方案是在释放形状之前调用此方法(在我的情况下,在我呈现新场景之前)

- (void)cleanUpChildrenAndRemove:(SKNode*)node {
    for (SKNode *child in node.children) {
        [self cleanUpChildrenAndRemove:child];
    }
    [node removeFromParent];
}
于 2014-08-21T02:08:20.357 回答