ios - 如何从 SkView 中放松

标签 ios swift ios8 sprite-kit

您好,我从主菜单 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)

关于ios - 如何从 SkView 中放松,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28533010/

相关文章:

ios - 无法从 WebKit 正确使用 https ://vintage. myetherwallet.com

ios - 如何从 Swift 2 中的字符串中删除特殊字符?

ios - 如何从后端的 mp3 文件 URL 获取元数据以显示 ArtWork 图像?

reference - Swift 中的异常行为 : constant defined with LET but behaving like a variable defined with VAR

ios - 如何获取 UITextView 中输入的最后 n 个字符?

iphone - Facebook API : Post on friend wall

Swift 3 - UIImageWriteToSavedPhotosAlbum 内存问题

swift - 使用 NSNumberFormatter SpellOutStyle 限制小数位

swift - ios8 Swift SpriteKit - 快速暂停和恢复 NSTimers

UITableView 上的 iOS 8 灰框