【Swift】SKActionをグループ化する方法

カエルが跳ねているアニメーション

SKActionのanimateを使うとテキスチャを切り替えてアニメーションを作ることができる。

例えば、カエルが跳ねるアニメーションを作るには2枚の画像を以下のようにすれば良い。

このままだと一回だけ跳ねて終わってしまう。

永久的に跳ねさせておきたい場合には以下のようにSKActionのrepeatForeverを使う。

これで繰り返しその場で跳ねる。

カエルを左右に動かす

では、跳ねているカエルを動かすにはどうすれば良いだろうか。

左に動いて右に動いて、、、を行う場合は以下のようにSKActionのsequenceを使う。

repeatForeverを使えば、永久的に右へ、左へ動き続けることになる。

跳ねている状態で左右に動かすには?

私は当初、SKActionのsequenceの中に、2つとも入れてしまえば良いと考えた。

しかし、これでは最初のbounceAnimationのみ実行されることになる。

何故なら、bounceAnimatonはforeverになっているから永久的に実行され、次のアニメーションには進まないからだ。

解決策は、SKActionのgroupを使うこと。

これで両方のアニメーションがグループ化され、跳ねながら移動することが可能になった。