Auch nach dem Lesen mehrerer Beiträge in Frame vs Ansicht kann ich immer noch nicht funktionieren. Ich öffne Xcode (7.3), erstelle ein neues Spielprojekt für IOS. Auf der Standard-Szenendatei direkt nach addChild, füge ich den folgenden Code:Erhalten der tatsächlichen Ansichtsgröße in Swift/IOS
print(self.view!.bounds.width)
print(self.view!.bounds.height)
print(self.frame.size.width)
print(self.frame.size.height)
print(UIScreen.mainScreen().bounds.size.width)
print(UIScreen.mainScreen().bounds.size.height)
I Ergebnisse erhalten folgende, wenn ich es für iPhone 6s laufen:
667.0
375.0
1024.0
768.0
667.0
375.0
Ich denke, dass zuerst zwei Zahlen Retina Pixelgröße bei x2. Ich versuche zu verstehen, warum Frame-Größe 1024x768 meldet?
Dann fügen Sie folgenden Code ich ein einfaches Hintergrundbild, um die Größe des Bildschirms zu füllen:
self.anchorPoint = CGPointMake(0.5,0.5)
let theTexture = SKTexture(imageNamed: "intro_screen_phone")
let theSizeFromBounds = CGSizeMake(self.view!.bounds.width, self.view!.bounds.height)
let theImage = SKSpriteNode(texture: theTexture, color: SKColor.clearColor(), size: theSizeFromBounds)
ich ein Bild kleiner als die Bildschirmgröße. Das Bild wird noch kleiner angezeigt, wenn ich den Querformat-Modus wähle.
Ich versuchte multipliziert Grenze Breite/Höhe mit zwei, in der Hoffnung, die tatsächliche Bildschirmgröße zu bekommen, aber dann wird das Bild zu groß. Ich habe auch versucht, Bildgröße, die das Bild etwas größer als der Bildschirm macht.
Hauptgrund für meine Verwirrung, neben Mangel an Wissen ist die Tatsache, dass ich dieses genaue Beispiel für eine Lektion gesehen habe, die perfekt funktioniert. Entweder fehlt mir etwas Offensichtliches oder?
Vielen Dank. Ich dachte nicht einmal, dass die "Szene" eine andere Größe als die Bildschirmgröße haben könnte. Wirklich öffnete meine Augen. – cdpalmer