前ページでは life
がなくなった時の処理、 .completion{ }
を紹介しました。
ここでは .completion{ }
を活用して、図形を再利用してアニメーションを繰り返してみましょう。
-
PGCircle()
を書きます。 -
フレームごとの移動量
.deltaPosition( dx:0.0, dy:-1.0 )
を指定します。 -
初期ライフとして
.life( 1.0 )
を指定します。またlifeに合わせて.alpha( 1.0 )
を指定します。 -
フレームごとの減り量として、
.deltaLife( -0.01 )
とdeltaAlpha( -0.01 )
を指定します。 -
.completion
のブロック内で図形を再設定します。.position()
,.life()
,.alpha()
を使って、それぞれ初期化します。 -
フレーバーとして
.color( .random )
を追加します。
|
|
- 「コードを実行」を押します。
目標
- 円が下に移動しながら消えます。円が消えたあと、中央から異なる色の円が再度現れ、繰り返しアニメーションすれば成功です。
終わったら次のページへ進みます。
- Note:
.completion
はinterval
同様にクロージャ関数を指定します。図形のlife
が0になった時に一度だけクロージャが実行されます。$0
は呼び出している図形自身です(inteval
と同様です)。ただしこのcompletion
内で、再度lifeが0.0より大きな値となった場合、図形は削除されないようになります。