2014-08-27 20 views
6

Sto facendo una prima scena con SpriteKit in swift. Ho creato un'immagine di sfondo per iPhone 4 pollici con dimensioni 640x1136. Ho posizionato l'immagine come sprite al centro dello schermo, ma l'immagine non è a schermo intero, mancano i bordi.Swift & SpriteKit: Immagine a schermo intero

Successivamente, ho provato a ridimensionare l'immagine all'interno dell'app. Quando ho fatto il image.size.height = self.size.height l'altezza è stata ridimensionata correttamente sullo schermo completo di iPhone. Ma quando ho fatto lo stesso con la larghezza image.size.width = self.size.width, l'immagine è estremamente allungata in larghezza.

Ho stampato le dimensioni di self.size e ho scoperto che le dimensioni per il mio iPhone 5 sono 1024, 768. Questo è un non senso perché lo schermo non può essere più largo della sua altezza su iPhone. L'app è universale ma l'unico orientamento è impostato su portrait.

Edit: Questo è il codice che uso per mettere l'immagine sullo schermo

class GameScene: SKScene 
{ 
    let menuImage = SKSpriteNode(imageNamed: "menuImage") 

    override func didMoveToView(view: SKView) 
    { 
     /* Setup your scene here */ 

     menuImage.anchorPoint = CGPointMake(0.5, 0.5) 
     menuImage.size.height = self.size.height 
     menuImage.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)) 

     self.addChild(menuImage) 
    } 
+0

Sei sicuro che il simulatore non è iPhone 5 secondi? –

+0

Lo provo sia sul mio iPhone 5s che su un simulatore di iPhone 5s e fanno la stessa cosa – Sam

+0

Perché hai reso l'immagine 640 * 1136 se doveva essere 768 * 1024? –

risposta

8

È necessario aggiungere scene.size = skView.bounds.size poco prima skView.presentScene(scene) nel file gameViewController

+1

Grazie. Questo ha risolto il problema con un ridimensionamento errato. – Sam

Problemi correlati