Tengo lo siguiente en GameViewController.swift
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 } }
imprime:
(320.0,480.0)
¿Cómo hacer que GameScene
llene toda la pantalla en lugar de dejar bandas negras en la parte superior e inferior de la pantalla?
el código en 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
es una image de tamaño 640x1138
El objective de implementación es iOS 7.1
Estoy usando Xcode 6.0.1 (Beta)
Necesita cambiar el tamaño de su nodo de background para que coincida con la escena.
background.size = self.frame.size
Tuve que agregar manualmente un set de imágenes llamado LauchImage
en Images.xcassets
.