gameViewController背景颜色无法更改

问题描述:

在spriteKit下运行的应用程序。几天前,gameScene在加载gameViewController后加载。今天,我改变了它的加载动作,只有当单击“开始”按钮时才加载gameScene,这意味着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

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