Swiftで遊ぼう! - 773 - まだまだ理解できないことが多いです(T_T)
explosionTexturesというSKTextureクラスの集合体(アレー)を用意したらパラパラ漫画のように実行するだけと思いきや、実行するのに色々設定があります(T_T)
tossBeaker(strength: CGVector) メソッドの中に実装していきます。元々あるboomプロパティを以下のように変更します。
まずアニメーションの設定です。
let animate = SKAction.animate(with: explosionTextures, timePerFrame: 0.056)
animateクラスでアニメーションの設定です9枚のイメージを0.056秒間隔、0.5秒で実行されます。
let expandContractCloud = SKAction.sequence([expandCloud, contractCloud])
この設定で、expandCloudアクションとcontactCloudアクションを連続して実行されます。このアクションは以前のままです。スケール変更の設定です。2.5秒で3.5倍に拡大と、2.5秒で消えて無くなるアクションの組み合わせを設定します。
let animateCloud = SKAction.group([animate, expandContractCloud])
groupメソッドは複数のアクションを同時に実行させます。animateは0.5秒で9枚のイメージをパラパラ漫画のように表現して、expandCOntactColudは0.5秒で拡大と縮小が生じます。
let boom = SKAction.sequence([fuse, animateCloud, removeBeaker])
そしてActionの組み合わせを実行させるアクションを作りあげてrunさせるんです。
ここでランさせるとちゃんと爆発します。
しかし、removeBeakerのタイミングやたら遅いんです。爆発が生じてもビーカーが残っていて1秒後ぐらいに消えます。
何が悪いんだろう?
分からない...