私のコードは、私の画像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