当游戏变为活动时运行一个函数iOS - SpriteKit

时间:2015-09-30 23:27:55

标签: ios iphone swift sprite-kit swift2

swift / SpriteKit的游戏中,当用户退出应用并再次打开时,我遇到了问题。如果游戏在暂停菜单上并且所有内容都暂停,则重新加载游戏时游戏将取消暂停,但暂停菜单上的标签不会消失。当我重新打开游戏时如何让游戏暂停?我试过了

    func applicationWillEnterForeground(application: UIApplication) {
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
    let scene = GameScene(size: CGSize(width: 2048, height: 1356))
    scene.view?.paused = true
}

但这并没有做任何事情。我也尝试了pause(),但这会让事情变得混乱。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

您希望使用applicationWillResignActive功能暂停您的场景,通过执行scene.speed = 0之类的操作来正确暂停您的场景(不知道为什么,但它不能正常使用pause)。在这里,您还可以显示暂停菜单(您似乎正在执行此操作)。

然后您想使用applicationDidBecomeActive功能继续您的游戏。在这里,您可以检查是否(在此猜测)按下了“恢复”按钮,并在响应方法中设置scene.speed = 1。在这里你的响应方法,做任何需要开始备份的事情(动画,动作,隐藏你的暂停菜单或音乐)。

我会说,这些是我使用的两个函数,你可以自由地使用你想要的两种函数,它们具有开/关类型的东西。我发现这些非常可靠。