カラーは非常に急速に変化するので、どのような状況でも、パーティクルのカラーを見るのは大変です。カラーの変化を遅くして、点滅するクリスマスのライトの効果を作成することができます。ここでは、アニメーションで 1 秒ごとにカラーの変わるパーティクルを作成する方法について説明します。
if ((frame % 24) == 0) BubblesShape.rgbPP = sphrand(1);
このエクスプレッションでは、剰余演算子(%)を使用して、パーティクルの RGB PP アトリビュートがランダムなカラーを受け取るタイミングを制御します。剰余演算子は除算後の余りを返します。たとえば、24 を 24 で割ると 0 が返されますが、25 を 24 で割ると 1 が返されます (25 を 24 で割ると、答えは 1 で余りが 1 になります)。
フレームを 24 で割った値が余り 0 の数値と等しければ、BubblesShape.rgbPP への代入が行われます。すなわち、フレームが 24、48、72 などと等しい場合に代入が行われます。アニメーション レートが 24 フレーム/秒の場合、代入は 1 秒ごとに 1 回ずつ行われます。
記号「==」は等号を表します。条件文では、= ではなく == です。間違わないよう、注意してください。= 記号は、値の代入を表します。
開始時間に移動すると、作成時のエクスプレッションが実行されるので、パーティクルの色が赤く変わります。アニメーションが再生されると、パーティクルは 1 秒ごとにランダムにカラーを受け取ります。
アニメーションを巻き戻した場合の先頭の赤色をランダムなカラーに変更するには、作成時のエクスプレッションを次のように変更します。
BubblesShape.rgbPP = sphrand(1);