Вот мой код, я не использовал каталог активов для своего изображения InterfaceBakground.jepg. Вместо этого я просто перетащил это изображение 2048x1535 в проект. Но изображение оказалось неправильным. Я хочу, чтобы изображение отображалось в качестве фонового изображения, заполнило весь экран.Swift - Добавить фоновое изображение в сцену Spritekit
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
}
}
Я видел это в Интернете, который приносит мне немного вдохновения:
Но если вы используете изображение, которое точно размер экрана, может не появляться где вы ожидать. Это связано с тем, что addChild по умолчанию добавляет новые спрайты в положение 0, 0 (нижний левый угол). Если вы хотите использовать , чтобы использовать размер изображения, специально предназначенный для вашего экрана, вам нужно будет изменить свою позицию.
Мой вопрос в том, как изменить положение, чтобы он соответствовал устройствам для дисплеев разного размера? Заранее спасибо.
Большое вам спасибо , вы решили мою проблему. –
wait, Если это работает, это означает, что точка привязки вашей сцены равна 0,5, 0,5. Это означает, что вам не нужно ничего устанавливать для фона, кроме размера (все переменные здесь являются переменной по умолчанию, кроме self.size.width и self.size.height, которая масштабирует спрайт до размера сцены) – Knight0fDragon