分123パーティクルのカラーをアニメーションさせるつぎに,パーティクルのカラーもアニメーションで変えてみたい。ParticleColorNodeオブジェクトを加える。アニメーションの初めと終わりの色は,ParticleColorNode()コンストラクタの第6および第7引数にColorTransformオブジェクトで与える。コンストラクタの第2および第3引数の乗数とオフセットは,ColorTransformオブジェクトによる色の定め方とともに説明しよう。表2にこれまでご紹介したアニメーションノードのコンストラクタをまとめた。パーティクルの角度をつねにカメラに向ける。パーティクルアニメーションが時間の中でどう伸縮するかを定める。パーティクルアニメーションが始まるときの速度を定める。パーティクルアニメーションの間に色がどう変わるかを定める。ColorTransformオブジェクトは,RGBAチャネルごとに定める乗数とオフセットによりカラーを変える仕組みだ。乗数は0から1の間の比率で,チャネルごとのカラー値に乗じる。オフセットは,±255の間の整数値を各カラー値に加える。その計算の結果,チャネルごとのピクセルカラー値がもとの色から変わるということだ。CCには,この仕組みによりインスタンスの色を変える[カラー効果]の設定がある(図4⁠)⁠。CCの[カラー効果]ColorTransform()コンストラクタに渡す引数はつぎのように,初めの4つが順にRGBAの乗数(デフォルト値1⁠)⁠,後の4つが同じくオフセット(デフォルト値0)である。オフセットアルファ)もうひとつ,パーティクルを輝かせる工夫だ。DisplayObjectインスタンスにはDisplayObject.blendModeプロパティが備わっていて,背後のオブジェクトのイメージとピクセルをどう合成するかが決められる。CS6の[ブレンドモード]にある[加法]と同じで,オブジェクトの重なりはカラー値が加算されて明るくなる(図5⁠)⁠。CS6の[ブレンドモード]で[加法]を選ぶと重なりが明るくなるアニメーションさせるカラーの初めと終わりを定めるColorTransformオブジェクトは,以下のようにどちらもRGBの乗数値を0にした。すると,もとの色が何であれ,カラーは黒(0x000000)になる。そのうえでRGBのオフセットを与えれば,そのカラーがアニメーションに定められることになる(つまり,0xFF3301から0x990000に変わる⁠)⁠。ParticleColorNode()コンストラクタの第1引数はParticlePropertiesMode.GLOBALとし,第2および第3引数は乗数とオフセットをともに使うためtrue,第4および第5はデフォルト値のfalse,第6と第7に上述のColorTransformオブジェクトを与えた。DisplayObject.blendModeプロパティは定数BlendMode.ADDだ。BlendMode.ADD;}パーティクルの初めの色と加算(加法)のブレンドモードにより,パーティクル同士がともに重なる始まりは黄色く,終わりに向けてばらけるにしたがって赤く変わる(図6⁠)⁠。パーティクルのかたちは,よく見ると平面の矩形になっている(図6下⁠)⁠。ここまでのスクリプトはコード2にまとめた。