在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()
,但这会让事情变得混乱。任何帮助表示赞赏。
答案 0 :(得分:0)
您希望使用applicationWillResignActive
功能暂停您的场景,通过执行scene.speed = 0
之类的操作来正确暂停您的场景(不知道为什么,但它不能正常使用pause
)。在这里,您还可以显示暂停菜单(您似乎正在执行此操作)。
然后您想使用applicationDidBecomeActive
功能继续您的游戏。在这里,您可以检查是否(在此猜测)按下了“恢复”按钮,并在响应方法中设置scene.speed = 1
。在这里你的响应方法,做任何需要开始备份的事情(动画,动作,隐藏你的暂停菜单或音乐)。
我会说,这些是我使用的两个函数,你可以自由地使用你想要的两种函数,它们具有开/关类型的东西。我发现这些非常可靠。