gpt4 book ai didi

swift - 如何创建从 SKScene 到另一个 UIViewController 的 Segue?

转载 作者:行者123 更新时间:2023-11-30 12:13:26 25 4
gpt4 key购买 nike

我目前正在制作一个非常基本的“Pong”游戏。我正在运行应用程序,但我想添加游戏结束屏幕。一旦用户或计算机达到 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”函数,该函数根据游戏的结果跳转到“你赢了”或“你输了”UIViewcontroller。非常感谢任何帮助,谢谢!

最佳答案

在您的 SKScene 中,声明一个 View Controller

var viewController: UIViewController?

在 Storyboard中,在托管 SKScene 的 View Controller 和游戏 View Controller 之间创建一个 Segue。给它一个标识符。

无论您想在哪里进行segue,都可以调用此方法(将“identifier”替换为您的标识符):

viewController?.performSegue(withIdentifier: "identifier", sender: viewController)

关于swift - 如何创建从 SKScene 到另一个 UIViewController 的 Segue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45742173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com