2014-08-27 17 views
6

Ich mache eine erste Szene mit SpriteKit in Swift. Ich habe ein Hintergrundbild für 4-Zoll-iPhone mit den Abmessungen 640x1136 erstellt. Ich habe das Bild als Sprite in der Mitte des Bildschirms platziert, aber das Bild ist nicht Vollbild, es fehlen Kanten.Swift & SpriteKit: Vollbild

Als nächstes habe ich versucht, das Bild in der App Größe zu ändern. Als ich image.size.height = self.size.height tat, wurde die Höhe richtig entlang des vollen iPhone-Bildschirms angepasst. Aber als ich das gleiche mit der Breite image.size.width = self.size.width machte, wurde das Bild extrem breit gestreckt.

Ich druckte die Abmessungen self.size und es stellt sich heraus, die Dimension für mein iPhone 5s sind 1024, 768. Das ist totaler Unsinn, wie der Bildschirm nicht breiter als seine Höhe auf dem iPhone sein kann. Die App ist universell, aber die einzige Orientierung ist auf Hochformat gesetzt.

Edit: Dies ist der Code verwende ich das Bild auf dem Bildschirm

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

Sie nur hinzufügen Sind Sie sicher, dass Ihr Simulator iPhone ist nicht 5s? –

+0

Ich teste es sowohl auf meinem iPhone 5s und einem Simulator von iPhone 5s und sie tun das Gleiche – Sam

+0

Warum hast du dein Bild 640 * 1136 gemacht, wenn es 768 * 1024 sein muss? –

Antwort

8

Sie müssen setzen scene.size = skView.bounds.size vor skView.presentScene(scene) in Ihrer gameViewController Datei

+1

Vielen Dank. Dies löste das Problem mit der falschen Größenanpassung. – Sam

Verwandte Themen