Swiftで遊ぼう! - 885 - GameScene.sksを回避
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
GameScene.sksを使うと、グリッドの配置がおかしくなります。これを自分で修正することができないので、コードでGameSceneクラスを初期化してレイアウトのズレを回避します。
GameViewControllerにコードされているviewDidLoard()メソッドは次のようになっています。
override func viewDidLoad() { super.viewDidLoad() if let view = self.view as! SKView? { // Load the SKScene from 'GameScene.sks' if let scene = SKScene(fileNamed: "GameScene") { // Set the scale mode to scale to fit the window scene.scaleMode = .resizeFill // Present the scene view.presentScene(scene) } view.ignoresSiblingOrder = true view.showsFPS = true view.showsNodeCount = true } }
このコードはGameScene.sksを使ってGameSceneクラスの初期化をするんですが、これでうまくレイアウトの調整ができないので、次のようにします。
override func viewDidLoad() { super.viewDidLoad() if let view = self.view as! SKView? { let scene = GameScene() scene.scaleMode = .resizeFill scene.backgroundColor = UIColor.lightGray // Present the scene view.presentScene(scene) view.ignoresSiblingOrder = true view.showsFPS = true view.showsNodeCount = true } }
あまり説明の要らないコードですね。これでランするとちゃんとグリッドが整列します。
ちょっとよく理解できてないけど次に進みます。