2016-10-29 19 views
1

私はGameSceneからUIViewControllerにセグを作る必要があります。GameSceneからviewControllerへSegue Swift 3

if let view = self.view as! SKView? { 
     if let scene = SKScene(fileNamed: "GameScene") { 
      scene.scaleMode = .aspectFill 

      scene.viewController = self 
      view.presentScene(scene) 
     } 
     ... 

と私GameScene.swiftに私は

class GameScene: SKScene, SKPhysicsContactDelegate { 
    var viewController: UIViewController? 

    ... 

など

func returnToMainMenu(){ 

    self.viewController.performSegueWithIdentifier("push", sender: viewController) 

} 
を追加しました:私は追加GameViewController.swiftで

:私のコードは、これまで以下のとおりです。

私の問題は、私がstate-view.viewController = selfを指定したときに、 "value of type 'S KScene 'にはメンバー' viewController 'はありません。これを修正するにはどうすればよいですか?

答えて

2

プロパティはGameSceneで宣言されていますが、シーンが作成されるときはSKSceneとなります。それを修正する簡単な方法は、シーンをGameSceneとして初期化することです。GameSceneで宣言されたメンバーにアクセスできます。

if let scene = GameScene(fileNamed: "GameScene") { 
    // Other code 
    scene.viewController = self 
} 

また、メインメニューに戻るときにexit sequeを試す必要がありますが、これは別のトピックです。

+0

好奇心のために。出口セグーとは何ですか? –

+0

あなたはこのSO [answer](http://stackoverflow.com/questions/12561735/what-are-unwind-segues-for-and-how-do-you-use-them)のexit sequeについて読むことができます。 –

関連する問題