前ページでは 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より大きな値となった場合、図形は削除されないようになります。