HydroTweenはcolorプロパティ(色)のtweenにColorMatrixFilterを使っている。
hue,saturation,contrast,brightnessなどの変化に使われているアレ。
Grant SkinnerさんのColorMatrixが移植されている。
このmatrix、分かる人には分かるのだろうけど相当難しい。
ColorMatrixFilterを使って任意の色指定ができるのかHydroTweenを参考に調べてみる。
赤
0xff0000 | |||||
srcR | srcG | srcB | srcA | offset | |
R | 0.5976055264472961 | 2.0095996856689453 | 0.2027948945760727 | 0 | 0 |
G | 0 | 0 | 0 | 0 | 0 |
B | 0 | 0 | 0 | 0 | 0 |
A | 0 | 0 | 0 | 1 | 0 |
緑
0x00ff00 | |||||
srcR | srcG | srcB | srcA | offset | |
R | 0 | 0 | 0 | 0 | 0 |
G | 0.5976055264472961 | 2.0095996856689453 | 0.2027948945760727 | 0 | 0 |
B | 0 | 0 | 0 | 0 | 0 |
A | 0 | 0 | 0 | 1 | 0 |
青
0x0000ff | |||||
srcR | srcG | srcB | srcA | offset | |
R | 0 | 0 | 0 | 0 | 0 |
G | 0 | 0 | 0 | 0 | 0 |
B | 0.5976055264472961 | 2.0095996856689453 | 0.2027948945760727 | 0 | 0 |
A | 0 | 0 | 0 | 1 | 0 |
赤・緑・青それぞれは同じ値がセットされている。
テストしたMovieClipは白(0xffffff)のshapeをシンボル化した。
MovieClipそのものに色を付けてしまうと色変化は現れません、あたりまえですけど。
色は白でないと表示結果は正しい色にならない。
HydroTween, HydroSequenceのcolor tweenは白からRGBの各値が0か255へのtweenなら正しくできるし、色変化も美しい。これは色変化にColorMatrixFilterを使っているから?、ColorTransformで同じことはできないの?、調べなくては。
ColorMatrixFilterでも色指定はある程度できるんだネ。あとは中間色をどうするか。
frame tweenでの色変化はきれい。
色変化法則がどこかにあるんだろうナ。