0

我正在 SpriteKit 中构建一个相当简单的游戏。这是我第一次使用 SpriteKit,到目前为止一切顺利。现在我想在玩家完成游戏时呈现一个新的 SKScene。我遇到了似乎无法诊断的错误访问崩溃。

我认为我正确地呈现了场景:

UnlockRockets *scene = [[UnlockRockets alloc] initWithSize:self.scene.size];
[self.view presentScene:scene];

每次我在 presentScene 上收到以下错误:line - Thread 1: EXC_BAD_ACCESS (code=1, address = 0x10)

查看线程跟踪,似乎崩溃可能源自 [SKNode isPaused]

任何建议都会很棒,我完全迷失了这一点。

4

2 回答 2

0

我认为 UnlockRockets 类中的 initWithSize 方法存在问题

于 2014-08-13T06:21:53.337 回答
0

我对 SKView 当前场景也有同样的问题,即使场景是完全新的,没有任何配置。所以我用这个解决了它。

    myScene *newScene = [myScene sceneWithSize:size];
    newScene.scaleMode = SKSceneScaleModeResizeFill;
    SKView *currentskView = (SKView*)  self.scene.view;
    SKScene *currentScene = (SKScene*) self.scene;
    [currentScene removeAllChildren];
    [currentScene removeFromParent];
    [currentskView presentScene:newScene];

我还注意到,如果为场景声明强引用 - 它的工作方式与您一样,但在这种情况下,即使场景不可见,场景也会存在于内存中,并且 xCode 会通知存在内存警告。

于 2014-10-03T05:36:07.970 回答