如何从 SkView 中放松

how to unwind from SkView

您好,我从主菜单 UIViewController 开始玩我创建的游戏。但是如果我想退出回到主菜单,SpriteKit 中没有 prepareForSegue 函数。

如何从场景中返回主菜单?

我正在使用 touches 开始处理事件而不是 UIButtons

您从包含 SKView 而不是 SKScene 的 ViewController 调用了 performSegue。在 SKScene 中创建一个指向 GameViewController 的弱变量。在创建 SKScene 时设置它。然后在 属性.

上调用 performSegue
//Game Scene
class GameScene {
   weak var gameViewController : GameViewController?
}

// GameViewController
override func viewDidLoad() {
    //Other code
    scene.gameViewController = self
    skView.presentScene(scene)
}

当你想在 GameScene 中执行 segue 时,调用

 // Inside GameScene
 self.gameViewController?.performSegueWithIdentifier("indentifer", sender: self)

返回主视图。

self.gameViewController?.navigationController?.popViewControllerAnimated(true)