0

SpriteKit でかなり単純なゲームを構築しています。これは SpriteKit を使用した初めての経験であり、これまでのところ順調に進んでいます。プレイヤーがゲームを完了したときに、新しい SKScene を表示したいということになりました。診断できないように見える Bad Access クラッシュが発生しています。

私はシーンを正しく提示していると思います:

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

シーンが構成なしでまったく新しい場合でも、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 に答える
0

UnlockRockets クラス内の initWithSize メソッドに問題があると思います

于 2014-08-13T06:21:53.337 に答える