読者です 読者をやめる 読者になる 読者になる

Swiftで遊ぼう! on Hatena

あしたさぬきblogでやってた初心者オヤジのiOSプログラミング奮闘記がHatenaに来ました

Swiftで遊ぼう! - 891 - 描画ステップ

大晦日ですが、たんたんとプログラミングを続けます。というのも記事は数日分溜めているからです。本当の大晦日はブログも見ていないでしょう。

さあ、移動のためのメソッドを加えます。

func followPath(path: [GKGridGraphNode]) {
    var sequence = [SKAction]()
        
    for node in path {
        let action = 
            SKAction.move(to: 
                scene.pointFor(coordinate: 
                    node.gridPosition), 
                    duration: 1)
        let update = SKAction.run() { [unowned self] in
            self.coordinate = node.gridPosition
        }
            
        sequence += [action, update]
    }
        
    sprite.run(SKAction.sequence(sequence))
}

このコードもちゃんと追って理解できるようになりました。本当にここまで来るのに時間がかかりました。パスデータを持っている[GKFridGraphNode]データの1つずつの項目をSKActionのmoveに変更してsequenceデータにまとめて、一気にrunさせるステップです。

[unowned self]というキャプチャ・リストも先日勉強した*1ので分かりますね。

これがMovementComponentの全てです。次は敵キャラ(Entity)にこのComponentを実装させていくステップです。

2016年が終わります。

ここまで付き合ってくださった読者の皆さん、ありがとうございました!

来年こそアプリをAppStoreに発表していく時期なのでご期待下さい!