2016-10-18 21 views
0

私はSpritekitでバトルゲームを作成し始めました。UIViewControllerからSKSCeneへの切り替えに何も表示されない

私はスプラッシュ画面とメインメニューを持っています。 私はUIViewControllerを使ってこれら2つのページとSKSceneを作成してゲームシーンを作成しました。 MainMenuで、再生ボタンアクション でGameSceneに切り替えたいが、GameSceneに何も表示されない。 私はGameSceneでブレークポイントを持っていて、意外にもdidMoveToViewのコードはすべて実行されていますが、私のページのデントはGameScene に切り替わり、私はまだMainMenuです。

私は、シーンをゲームへのUIViewControllerから切り替えるには、次のコードを使用:

@IBAction func playButton(sender: UIButton) { 

    let scene = GameScene(size:view.bounds.size)//(fileNamed: "GameScene") { 
    let skView = self.view as! SKView 
    skView.showsFPS = true 
    skView.showsNodeCount = true 
    skView.ignoresSiblingOrder = true 
    scene.scaleMode = .AspectFill 
    skView.presentScene(scene) 


} 

override func didMoveToView(view: SKView) { 
    /* Setup your scene here */ 
    let myLabel = SKLabelNode(fontNamed:"Chalkduster") 
    myLabel.text = "Hello, World!" 
    myLabel.fontSize = 45 
    myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame)) 

    self.addChild(myLabel) 
} 

が実行されていると私はブレークポイントによってそれにナビゲートすることができます。

+0

デバッグ時にUI階層を表示しようとしましたか? – matthiaswitt

+0

はい、それに特別な意味がありますか? – Mina

+0

skビューは表示されていますか?シーンのラベルサイズや背景色を設定してみてください。おそらくシーンは表示されていますが、空白です。 – matthiaswitt

答えて

0

最後に問題が見つかりました。 スーパービューからUIImages、Buttons、Labelsのようなオブジェクトをすべて削除しなければなりませんでした。このような :

 for view in self.view.subviews { 
     view.removeFromSuperview() 
     } 

彼らはGameSceneノードを提示することはできませんでした。

関連する問題