在Spritekit(Swift)中实现“退出游戏”选项的最简单方法是什么?

时间:2018-08-03 22:21:41

标签: ios swift exit

我希望我的游戏在用户触摸“游戏退出”选项时退出,但是我似乎在场景变量/引用中找不到像系统退出或close或quit属性之类的东西。 “退出游戏”应该等同于用户能够在其iPad上退出游戏应用程序,因此,据我推测,当我在模拟器上对其进行测试时,应该完全退出模拟器。请您帮忙吗?

愿雨燕与你同在:)。

谢谢。

尼尔

1 个答案:

答案 0 :(得分:0)

注意:

作为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:)(这样,无需检查名称)。

最后,要知道如何退出应用程序,查看此响应的第一个链接,抛出异常或调用fatalError() ...,但是请注意,Apple不喜欢这样做并且可能会决定不这样做。在其商店上发布您的应用。