2017-08-31 7 views
1

このアプリケーションはspriteKitで動作しています。 GameViewControllerがロードされてからgameSceneがロードされていました。今日、私は、startScanの背景色が見えないことを意味するStartボタンがクリックされたときにのみ、gameSceneがロードされるローディングアクションを変更します。私はgameViewControllerの背景色を設定する必要があります。以前は何度も何度もやっていた非常に簡単な作業ですが、薄い灰色(下の画像)に貼り付けられています。gameViewController背景色を変更することはできません

spriteKitでgameViewControllerの背景色を変更できないのですか?

代わりにgameSceneの背景色を変更する必要がありますか?

override func viewDidLoad() { 
     super.viewDidLoad() 
     self.view.backgroundColor = .green 

     // ....... 
    } 

    @IBAciton func loadGameView() { 
     if let view = self.view as! SKView? { 
      // Load the SKScene from 'GameScene.sks' 
      // if let scene = SKScene(fileNamed: "GameScene") { 
      if let scene = GameScene(fileNamed: "GameScene") { 
       scene.viewController = self 
       scene.size = self.view.frame.size 
       scene.scaleMode = .aspectFill 
       // Present the scene 
       view.presentScene(scene) 

      } 

      view.ignoresSiblingOrder = false 
      view.showsFPS = false 
      view.showsNodeCount = false 
      view.showsDrawCount = false 


     } 

    } 

enter image description here

答えて

1
if let scene = GameScene(fileNamed: "GameScene") { 
      scene.viewController = self 
      scene.size = self.view.frame.size 
      scene.scaleMode = .aspectFill 

      //ADD THIS 
      scene.color = .green 
      scene.colorBlendFactor = 1 

      // Present the scene 
      view.presentScene(scene) 

    } 
+0

私は、このソリューションは、背景色を設定することができますが、ちょうど「スタート」ボタンをクリックする前にGameSceneをロードする必要はありません知っています。他の解決策?ありがとう。 – jdleung

+0

私はあなたの質問にうまく対応していません。 UIViewControllerを変更する場合は、通常のUIViewControlleとまったく同じです。しかし、私は個人的にメニューとしてSKSceneを使用します。 –

+0

はい、通常、UIViewControllerの背景色は 'self.view.backgroundColor'で設定できますが、これはSpriteKitでは動作しないようです。 – jdleung

関連する問題