SwiftのSpriteKitで実装―タワーディフェンスゲームの大枠の作り方とコツ (1/3)の記事を参考に写経を初めて見たのですが、座標の指定がちがってしまっているようで、画面いっぱい画像を表示することができません。
GameSceneの中, +1の意味はよくわかっていませんが、背景画像をviewのフレームの大きさで割ってうまく一面に表示できるようにしているのだと思います。
lang
1import SpriteKit 2 3class GameScene: SKScene { 4 override func didMove(to view: SKView) { 5 let fieldImageLength: CGFloat = 32 6 for i in 0...Int(frame.size.width / fieldImageLength) + 1 { 7 for j in 0...Int(frame.size.height / fieldImageLength) + 1 { 8 let field = SKSpriteNode(imageNamed: "Field") 9 field.position = CGPoint(x: CGFloat(i) * fieldImageLength, y: CGFloat(j) * fieldImageLength) 10 field.zPosition = -1 11 addChild(field) 12 } 13 } 14 } 15} 16
記事に書いてあったのでscaleModeを変えました。.aspectFill, .aspectFit, fill, .resizeFill全て試したのですがうまく表示されませんでした。
lang
1scene.scaleMode = .resizeFill
現状の画面
現状はこのように右上半分だけ背景画像が表示されるようになっています。viewにアクセスしているframe.size.のところ部分がSwiftのバージョンが新しくなったことによって変わってしまったりしているのでしょうか?
並べる前に、まず一枚だけ左上に表示してみてはどうでしょうか?
回答1件
あなたの回答
tips
プレビュー