swift - 以编程方式在 SKScene 和 View Controller 之间切换?

标签 swift

我有两个 block ,当它们接触时,会播放动画,然后将玩家送回菜单屏幕。但是,因为玩家控制方 block 的位置……等等……我无法使用按钮或计时器来确定场景。当我的两个节点(球和桨)接触时,我想知道如何让我的场景(GameScene)进入我的 View Controller (LoginViewController)。这是我已经为两次接触编写的程序。

func didBegin(_ contact: SKPhysicsContact) {
    // 1
    var firstBody: SKPhysicsBody
    var secondBody: SKPhysicsBody



                   // 2
    if contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask {
        firstBody = contact.bodyA
        secondBody = contact.bodyB
    } else {
        firstBody = contact.bodyB
        secondBody = contact.bodyA
    }
    // 3
    if firstBody.categoryBitMask == BallCategory && secondBody.categoryBitMask == PaddleCategory {
        let ball = childNode(withName: BallCategoryName) as! SKSpriteNode
        ball.physicsBody?.velocity = CGVector.zero
        let paddle = childNode(withName: PaddleCategoryName) as! SKSpriteNode
        self.view?.isUserInteractionEnabled = false
        paddle.physicsBody?.velocity = CGVector.zero


    }
     }

感谢您的帮助!

最佳答案

如何在两个场景之间创建一个 segue - 命名相应的标识符(例如在 Storyboard中)“test” - 当 block 相互接触时触发这样的 segue:

performSegueWithIdentifier("test", sender: self)

关于swift - 以编程方式在 SKScene 和 View Controller 之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45469658/

相关文章:

ios - 按钮上的 IBAction 功能未触发

ios - 如何为所有实体编写一个简单的通用核心数据函数

json - Swift Codable 没有按预期工作?

swift - 在 Xcode 中使用委托(delegate)来执行功能

ios - 如何保存 button.isEnabled = false 的状态?

ios - 场景套件。哪条路向上?

ios - 在 Swift 上完成触摸拖动后如何刷新?

ios - 将 MKAnnotation 轻敲到 "select"真的很慢

swift 4 : With Codable `Generic parameter ' T' could not be inferred`

ios - Swift:为什么点击手势识别器不是每次都能工作?