我目前正在制作一款非常基本的“Pong”游戏。我有应用程序正在运行,但我想添加一个gameover屏幕。一旦用户或计算机达到5分,我就想要显示游戏场景。
这是我的分数更新功能:
func addScore(playerWhoWon: SKSpriteNode) {
ball.position = CGPoint(x: 0, y: 0)
ball.physicsBody?.velocity = CGVector(dx: 0, dy: 0)
if playerWhoWon == main {
score[0] += 1
if score[0] >= 5 {
// call a function that segues to endGame()
}
let when = DispatchTime.now() + 0.7
DispatchQueue.main.asyncAfter(deadline: when) {
self.ball.physicsBody?.applyImpulse(CGVector(dx: 15, dy: 15))
}
} else if playerWhoWon == enemy {
score[1] += 1
if score[1] >= 5 {
// call a function that segues to endGame()
}
let when = DispatchTime.now() + 0.7
DispatchQueue.main.asyncAfter(deadline: when) {
self.ball.physicsBody?.applyImpulse(CGVector(dx: -15, dy: -15))
}
}
topLbl.text = "\(score[1])"
btmLbl.text = "\(score[0])"
}
我希望能够调用“endGame”函数,该函数根据游戏结果分为“You Win”或“You Lose”UIViewcontroller。非常感谢任何帮助,谢谢!
答案 0 :(得分:0)
在您的SKScene中,声明一个视图控制器
var viewController: UIViewController?
在故事板中,在托管SKScene的视图控制器和视图控制器上的游戏之间创建一个segue。给它一个标识符。
无论您想要哪个地方,请拨打此电话(用标识符替换"标识符")
viewController?.performSegue(withIdentifier: "identifier", sender: viewController)