2014-10-08 103 views
6

我一直在做Xcode中應該是非常簡單的東西,我試圖添加一個精靈到場景中,並讓它坐在左下角:Xcode 6中的場景大小/ SpriteKit/Swift

var groundTexture : SKTexture = SKTexture(imageNamed: "dirt-block")  
var ground : SKSpriteNode = SKSpriteNode(texture: groundTexture) 
ground.position = CGPointMake(ground.size.width/2, ground.size.height/2) 
self.addChild(ground) 

這不顯示任何內容,所以我看看場景尺寸是什麼,self.frame.size.width和self.frame.size.height返回的寬度爲1024,高度爲768,不管方向如何。

我希望在橫向模式下修正這個問題,如果這對答案有什麼影響?

我明顯錯過了設置場景的一個非常基本的想法,如果任何人都可以擺脫任何光線,它將不勝感激。

謝謝。

+1

場景大小由GameScene.sks確定。如果你點擊該文件,你會看到場景的size屬性被設置爲1024 x 768. – 0x141E 2014-10-08 20:14:00

回答

15

你必須編輯GameViewController:

切一切從viewDidLoad()除了super.viewDidLoad()

覆蓋viewWillLayoutSubviews

override func viewWillLayoutSubviews() { 
    super.viewWillLayoutSubviews() 

    if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene { 
     // Configure the view. 
     var 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.size = skView.bounds.size 
     scene.scaleMode = .AspectFill 

     skView.presentScene(scene) 
    } 
} 

你也應該設置場景大小,你可以看到

scene.size = skView.bounds.size 

希望這有助於

還有一個偉大的教程,其中是這樣解釋更好: http://www.raywenderlich.com/49721/how-to-create-a-breakout-game-using-spritekit (第1或2)

+0

網站上的另一個例子就是http://www.ymc.ch/en/ios-7 -sprite-KIT-的建立,正確的場景維度 – 2016-03-19 14:52:26