在 Spritekit (Swift) 中实现 "game quit" 选项的最简单方法是什么?
what's the easiest way to implement a "game quit" option in Spritekit (Swift).
我希望我的游戏在用户触摸 "game quit" 选项时退出,但我似乎无法在场景 variable/reference。 "game quit" 应该相当于用户能够在 iPad 上退出游戏应用程序,所以当我在模拟器上测试它时,据推测,它应该完全退出模拟器,据我所知推断。请问你能帮忙吗?
愿Swift与你同在:)。
谢谢。
尼尔
注:
作为 iOS 的程序员,Apple 不允许您自行退出应用程序,请在此处查看原因:exit application when click button - iOS
总之,这里是您问题的答案。
首先,创建一个显示 quit 图像或您喜欢的文本的 SKNode。
给它起个名字:
myQuitImageSKNode.name = "Quit"
将此 SKNode 添加为相机的子节点,以便此图像或文本位于屏幕上的固定位置:
myScene.camera!.addChild(myQuitImageSKNode)
最后,将场景子类化并覆盖 touchesBegan(_:with:)
以检查用户是否触摸了您的退出图像或文本:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch: UITouch = touches.first!
let touchedNode = self.atPoint(touch.location(in: self))
if touchedNode.name == "Quit" {
// exit from your app
}
}
另一种方法是将退出按钮对应的 SKNode 子类化并覆盖 touchesBegan(_:with:)
(这样就不需要检查名称)。
最后,要知道如何退出app,看这个响应的第一个link,或者抛出异常,或者调用fatalError()
...不过要注意,Apple不会像这样并可能决定不在他们的商店中发布您的应用程序。
我希望我的游戏在用户触摸 "game quit" 选项时退出,但我似乎无法在场景 variable/reference。 "game quit" 应该相当于用户能够在 iPad 上退出游戏应用程序,所以当我在模拟器上测试它时,据推测,它应该完全退出模拟器,据我所知推断。请问你能帮忙吗?
愿Swift与你同在:)。
谢谢。
尼尔
注:
作为 iOS 的程序员,Apple 不允许您自行退出应用程序,请在此处查看原因:exit application when click button - iOS
总之,这里是您问题的答案。
首先,创建一个显示 quit 图像或您喜欢的文本的 SKNode。
给它起个名字:
myQuitImageSKNode.name = "Quit"
将此 SKNode 添加为相机的子节点,以便此图像或文本位于屏幕上的固定位置:
myScene.camera!.addChild(myQuitImageSKNode)
最后,将场景子类化并覆盖 touchesBegan(_:with:)
以检查用户是否触摸了您的退出图像或文本:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch: UITouch = touches.first!
let touchedNode = self.atPoint(touch.location(in: self))
if touchedNode.name == "Quit" {
// exit from your app
}
}
另一种方法是将退出按钮对应的 SKNode 子类化并覆盖 touchesBegan(_:with:)
(这样就不需要检查名称)。
最后,要知道如何退出app,看这个响应的第一个link,或者抛出异常,或者调用fatalError()
...不过要注意,Apple不会像这样并可能决定不在他们的商店中发布您的应用程序。