SKView.presentScene(场景)不起作用,但SKView.presentScene(场景,过渡)工作

时间:2019-09-11 15:51:06

标签: swift sprite-kit swift5.1

我正在开发游戏。每个场景都有一个主ViewController和子控制器:开始屏幕和游戏关卡

在启动时,我会显示StartScreen。然后,当按下播放按钮时,我将展示游戏场景(并添加他的控制器)

游戏结束后,我会显示“开始”屏幕。

问题:没有出现开始屏幕,并且游戏级别保持不变。

该代码实际上被调用,并且SKView.scene拥有对右边代码的引用(开始屏幕)。但外观没有任何变化。

public func gameEnded() {
    print("game ended", skView.scene)
    gameSceneController.willMove(toParent: nil)
    gameSceneController.removeFromParent()
    skView.presentScene(startScene)
    print(skView.scene)
}

但是,如果我向presentScene方法添加一个过渡参数,那么一切都会按预期工作...开始屏幕替换游戏场景。

public func gameEnded() {
    print("game ended", skView.scene)
    gameSceneController.willMove(toParent: nil)
    gameSceneController.removeFromParent()
    skView.presentScene(startScene, transition: .crossFade(withDuration: 0.2)) //the ONLY difference in the whole code base
    print(skView.scene)
}

任何想法可能是什么原因?

Nota:我目前正在使用Xcode 11 beta 7

0 个答案:

没有答案