我有一款效果很棒的遊戲,並且在應用商店中。我正在進行更新,在其中添加了另一個場景。當遊戲啓動時,它仍然可以正常工作,但如果我更改爲其他場景,然後返回到第一個場景,遊戲仍然可以正常工作。但是,如果我玩遊戲一次,然後按下按鈕,進入到其他場景,然後再回到第一個場景,遊戲崩潰當我嘗試與錯誤播放:Sprite Kit遊戲在更改場景後崩潰回到原始場景
*** 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]];
}
線使其崩潰
哪條線路導致崩潰?你是否設置了一個異常斷點來查找崩潰的代碼? – Fogmeister
噢,對不起,我忘了那一行,我現在就添加它 – SomeGuy
這不是導致崩潰的行。這只是告訴你,該應用程序已崩潰。你需要添加一個異常斷點。這將停止在你自己的代碼行上。 – Fogmeister