2016-06-22 6 views
0

新しいゲームファイルを迅速に作成すると、デフォルトでGameScene.swiftファイル、GameViewController.swiftファイル、メインビューのストーリーボード上のUIViewControllerが与えられます。私のコードでは、別のSKScene(すでに存在するGameSceneに似ています)を作成しましたが、main.storyboard上にある別のUIViewControllerにリンクするのに問題があります。私はこれをやりたいのですが、私は自分のGameSceneからこの新しいシーンに、次にメインのViewController/InitialControllerControllerに分割する必要があります。SKSceneをUIViewControllerにリンクする

SKSceneとViewControllerを正しくリンクするにはどうすればいいですか?

以下は、EndSceneViewController.swiftファイルです。次に、EndScene.swiftファイルをリンクします。

import UIKit 
import SpriteKit 

class EndSceneVC: UIViewController{ 


    override func viewDidLoad() { 
     super.viewDidLoad() 


     if let scene = EndScene(fileNamed:"EndScene") { 
      // Configure the view. 
      let skView = self.view as! SKView 
      skView.showsFPS = true 
      skView.showsNodeCount = true 

      /* Sprite Kit applies additional optimizations to improve rendering performance */ 
      skView.ignoresSiblingOrder = true 

      /* Set the scale mode to scale to fit the window */ 
      scene.scaleMode = .AspectFill 
      scene.viewController = self 
      skView.presentScene(scene) 

     } 
    } 

    override func shouldAutorotate() -> Bool { 
     return true 
    } 

    override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 
     if UIDevice.currentDevice().userInterfaceIdiom == .Phone { 
      return .AllButUpsideDown 
     } else { 
      return .All 
     } 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Release any cached data, images, etc that aren't in use. 
    } 

    override func prefersStatusBarHidden() -> Bool { 
     return true 
    } 
} 



import SpriteKit 

class EndScene : SKScene { 
    var viewController : UIViewController? 

    override func didMoveToView(view: SKView) { 
     print("hello") 
    } 

} 

答えて

0

コントローラを切り替えてシーン間を移動したいですか?

現在表示されているSKSceneからRoot ViewControllerをターゲットにすることができます。シーンに別のプロパティを追加する必要はありません。

class GameScene: SKScene { 
    override func didMoveToView(view: SKView) { 
     let viewController = self.view?.window?.rootViewController 
    } 
} 
関連する問題