当游戏激活时运行一个函数-iOS-SpriteKit

当游戏激活时运行一个函数-iOS-SpriteKit,ios,iphone,swift,sprite-kit,swift2,Ios,Iphone,Swift,Sprite Kit,Swift2,在我的swift/SpriteKit游戏中,当用户退出应用程序并再次打开时,我遇到了一个问题。如果游戏在暂停菜单上且所有内容都已暂停,则重新加载游戏时,游戏将取消暂停,但暂停菜单上的标签不会消失。当我重新打开游戏时,如何使其暂停?我试过了 func applicationWillEnterForeground(application: UIApplication) { // Called as part of the transition from the background

在我的
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()
,但那会把事情搞砸。非常感谢您的帮助。

您想使用
应用程序willresignative
功能暂停您的场景,方法是执行类似
scene.speed=0
的操作,该操作将正确暂停您的场景(不知道为什么,但仅使用
pause
)。在这里,您还可以显示暂停菜单(您似乎正在执行此操作)

然后您需要使用
applicationIDbecomeactive
功能继续游戏。在这里,您进行检查以查看(此处猜测)您的“恢复”按钮是否被按下,并在该按钮的响应方法中,设置
scene.speed=1
。在您的响应方法中,执行任何需要启动备份的操作(动画、动作、隐藏暂停菜单或音乐)


我会说,这是我使用的两个函数,你可以自由使用任何两个你想要的函数,它们都有开/关的功能。我发现这些是非常可靠的。

Xcode说“类型'SKView'的值没有成员'speed'我的坏,请参阅我的编辑。您想使用
scene.speed
。我在func应用程序中将速度设置为0(应用程序:UIApplication,didfishlaunchingwithoptions launchOptions:[NSObject:AnyObject]?)->Bool{,func applicationWillResignActive(application:UIApplication){,func applicationidentinterbackground(application:UIApplication){,和func applicationWillEnterForeground(application:UIApplication){但这并没有改变任何事情……你知道,我想我读错了你的问题,我以为当用户返回游戏时你试图让暂停菜单消失。请给我一点时间再次编辑我的答案。我试图使暂停菜单消失。或者,让游戏暂停,因为正在发生的是暂停m当游戏继续进行时,enu填充屏幕。我尝试了scene.paused=true、scene.unpause()(取消暂停菜单)和您建议的内容。我在AppDelegate中编写的代码都没有任何影响,这是什么原因造成的?