2014-09-19 57 views
3

填滿整個屏幕我在GameViewController.swift讓SKScene使用雨燕

class GameViewController: UIViewController { 

    override func viewWillLayoutSubviews() { 
     super.viewWillLayoutSubviews() 
     println(self.view.frame.size) 
     var skView:SKView = self.view as SKView 
     if skView.scene == nil { 
      skView.showsFPS = false 
      skView.showsNodeCount = false 

      // Create and configure the scene. 
      var scene : SKScene = GameScene(size: skView.bounds.size) 
      scene.scaleMode = SKSceneScaleMode.AspectFill 

      // Present the scene. 
      skView.presentScene(scene) 
     } 
    } 

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

它打印如下:

(320.0,480.0) 

如何使GameScene填補,而不是在頂部留下黑色條帶整個屏幕和屏幕底部?

GameScene.swift

class GameScene: SKScene { 
    override func didMoveToView(view: SKView) { 
     /* Setup your scene here */ 
     var background : SKSpriteNode = SKSpriteNode (imageNamed: "background.png") 
     background.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2) 
     self.addChild(background) 
    } 
} 

background.png代碼大小的圖像640x1138

部署目標是iOS的7.1

我使用的Xcode 6.0.1(測試版)

+0

您是否已經解決了這個問題? – 2014-10-01 10:53:54

+1

是@MarkusRautopuro,我在下面回答我的問題 – Carpsen90 2014-10-01 11:00:01

回答

1

我不得不手動添加在Images.xcassets命名爲LauchImage圖像集。

+0

這看起來好像您剛剛將文件添加到項目文件夾並解決了問題。我有同樣的問題,並設法通過在另一個視圖中添加一個按鈕來解決它(絕對不知道爲什麼這是可行的),但我希望有一個更好的解決方案,因爲我不需要按鈕。 – SuperCodeBrah 2017-11-08 03:22:40

1

您需要調整背景節點的大小以匹配場景。

background.size = self.frame.size 
+0

'scene'是'GameViewController.swift'中的一個變量,''背景'在'GameScene.swift'中 – Carpsen90 2014-09-19 15:48:36

+0

編輯它以使它自己。你可以檢查它是否有效? – Donn 2014-09-19 15:52:04