SpriteKit присутствует сцена не работает с переходом, только без - PullRequest
0 голосов
/ 15 апреля 2020

Итак, у меня есть SKView как IBOutlet и делегат, который позволяет сценам изменять текущую сцену следующим образом:

// this code is inside the view controller
func changeScene(to sceneType: GameScene.Type) {
    let sceneName = NSStringFromClass(sceneType).components(separatedBy: ".").last!
    let scene = sceneType.init(fileNamed: sceneName)!
    scene.scaleMode = .aspectFill
    scene.dialogueDelegate = self.dialogueView
    scene.sceneDelegate = self
    self.hudScene.hudDelegate = scene
    self.actionButtonScene.actionButtonDelegate = scene
    self.gameView.presentScene(scene, transition: SKTransition.fade(withDuration: 2))
}

Я вызываю эту функцию один раз, когда игра начинается (и это работает) и один раз, когда игрок выпадает из сцены:

// this code is inside the scene
override func update(_ currentTime: TimeInterval) {
    if self.player.position.y < -self.size.height / 2 {
        self.player.removeFromParent()
        self.sceneDelegate?.changeScene(to: Self.self)
    }
}

Но второй раз это ничего не делает. Код выполняется, но сцена не представлена. Удаление SKTransition, кажется, решает проблему, но почему проблема перехода здесь?

...