我有两个块,当他们触摸时,将播放动画,然后将播放器发送回菜单屏幕。但是,因为播放器控制了块的位置......等等......我无法使用按钮或计时器来截取场景。当我的两个节点(球和球拍)接触时,我想知道一种让我的场景(GameScene)进入我的视图控制器(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
}
}
感谢您的帮助!
答案 0 :(得分:1)
如何在两个场景之间创建一个segue - 命名相应的标识符(例如在故事板中)“test” - 当这些块相互触摸时会触发这样的segue:
performSegueWithIdentifier("test", sender: self)