• 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
    }
}

あまり説明の要らないコードですね。これでランするとちゃんとグリッドが整列します。

f:id:yataiblue:20161219203034j:plain

ちょっとよく理解できてないけど次に進みます。