ios - 重置整个场景(Swift、SpriteKit)

标签 ios iphone xcode swift sprite-kit

我正在尝试为我的游戏创建一个重播按钮,但每当我回到游戏场景时,似乎什么都没有停止过。时间是一个负数,游戏就会崩溃。我试过了……

       if timeInt < 0 {


        //////////////
        let retryScene = RetryScene(size: self.frame.size)
        self.view?.presentScene(retryScene)
        self.removeAllChildren()
        self.removeAllActions()

        ///// end game

        timeInt = 45
    }

我认为移除所有子项会起作用,并且重置时间也会起作用。我使用了一个每秒更新一次的功能来使时间正常工作。所以所有的功能都在继续,就好像场景永远不会结束一样。我该怎么办?

最佳答案

每次我想重新启动游戏时,我都在展示游戏场景。 (从头开始游戏场景)

应该是这样的

    if (node.name == "ReplayButton") {
        var gameScene = GameScene(size: self.size)
        var transition = SKTransition.doorsCloseHorizontalWithDuration(0.5)
        gameScene.scaleMode = SKSceneScaleMode.AspectFill
        self.scene!.view?.presentScene(gameScene, transition: transition)
    }

关于ios - 重置整个场景(Swift、SpriteKit),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29909113/

相关文章:

ios - 如何在函数的返回类型中引用遵循协议(protocol)的类?

ios - 使用 Swift 从 AppDelegate 更改 UINavigationBar 后退按钮文本和字体

ios - 如何在 Origami Studio 上导出代码

ios - Swift Alert 弹出窗口出现在模拟器 iphone 4s(8.1) 中,而不是 iphone 4s (7.1)

iOS 应用程序发布到 iTunes Connect - 未找到应用程序记录

ios - 如何使用 ARKit 检测平面

ios - 使用不同的变量异步多次运行某些代码

iPhone:设置导航栏标题

iphone - UI按钮+ TextView

在 macOS 上使用 Swift 和 Electron