簡體   English   中英

將場景更改回原始場景后,Sprite Kit游戲崩潰

[英]Sprite Kit game crashing after changing scene back to original scene

我有一款非常不錯的游戲,並且在應用商店中。 我正在進行更新,在其中添加了另一個場景。 當游戲啟動時,它仍然可以正常工作,但是如果我切換到另一個場景然后又回到第一個場景,則游戲仍然可以正常工作。 但是,如果我玩了一次游戲,然后按該按鈕轉到另一個場景,然后返回到第一個場景,則當我嘗試播放時出現錯誤時,游戲將崩潰:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attemped to add a SKNode which already has a parent: <SKNode> name:'(null)' position:{0, 0} accumulatedFrame:{{inf, inf}, {inf, inf}}'

我嘗試在過渡之前從場景中刪除所有孩子,但是仍然出現錯誤。

更改場景的代碼:

if ([node.name isEqualToString:@"Settings Button"]) {
        MySettingsScene *settingsScene = [MySettingsScene sceneWithSize:self.size];
        [self.view presentScene:settingsScene transition:[SKTransition pushWithDirection:SKTransitionDirectionLeft duration:.5]];
    }

代碼改回來:

if ([node.name isEqualToString:@"Back Button"]) {
    MyScene *homeScene = [MyScene sceneWithSize:self.size];
    [self.view presentScene:homeScene transition:[SKTransition pushWithDirection:SKTransitionDirectionRight duration:.5]];
}

導致它崩潰的線

如果您實際讀取了日志錯誤,則表明您正在嘗試在代碼中的某個位置兩次添加一個子級。 從而導致它崩潰。 運行您的代碼並仔細檢查。

聽起來您正在尋找關閉當前場景並移至新場景的感覺。 為此,您可以[mySKView presentScene:nil]; 然后轉到您的新場景。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM