Hier ist mein Code, ich habe keinen Asset-Katalog für mein Image InterfaceBakground.jepg verwendet. Stattdessen habe ich dieses 2048x1535-Bild einfach in das Projekt gezogen. Aber das Bild erschien nicht richtig. Ich möchte das Bild als Hintergrundbild anzeigen, füllen Sie den gesamten Bildschirm.Swift - Hinzufügen eines Hintergrundbilds zu einer Spritekit-Szene
import SpriteKit
import GameplayKit
class GameScene: SKScene {
var background = SKSpriteNode(imageNamed: "InterfaceBakground.jpeg")
override func didMove(to view: SKView) {
background.position = CGPoint(x: self.size.height/2, y: self.frame.width/2)
self.addChild(background)
}
override func update(_ currentTime: TimeInterval) {
// Called before each frame is rendered
}
}
Ich sah dies im Internet, die mir ein wenig Inspiration bringt:
Aber wenn Sie ein Bild verwenden, das genau die Größe des Bildschirms ist, es möglicherweise nicht angezeigt, wenn Sie erwarten von. Dies liegt daran, dass addChild standardmäßig neue Sprites an Position 0, 0 (linke untere Ecke) hinzufügt. Wenn Sie ein Bild speziell für Ihren Bildschirm verwenden möchten, müssen Sie seine Position ändern.
Meine Frage ist, wie man die Position ändert, damit es Geräte für unterschiedliche Größenanzeigen passt? Danke im Voraus.
Vielen Dank Du hast mein Problem gelöst. –
warte, Wenn das funktioniert, bedeutet dies, dass der Ankerpunkt deiner Szene 0,5, 0,5 ist. Das bedeutet, dass Sie nichts außer der Größe in den Hintergrund setzen müssen (alle Variablen hier sind Standardvariablen außer self.size.width und self.size.height, wodurch das Sprite auf die Szenengröße skaliert wird) – Knight0fDragon