この記事のURL

http://www.dango-itimi.com/blog/archives/2005/000827.html


FLASH tips Colorクラス→ColorTransformクラス メモ

FlashPlayer8以降ではColorクラスは使用してはダメとのことなのでヘルプにしたがい、flash.geomパッケージのColorTransformクラスを使用することにしてみました。
しかしヘルプのColorTransformクラスの項をよく見ても、なんだか使用方法がよくわからない状況に。

ColorTransformコンストラクタ

この項の説明

redMultiplier:Number (オプション) - 赤の乗数の値 (0 ~ 1)。デフォルト値は 100 です。
greenMultiplier:Number (オプション) - 緑の乗数の値 (0 ~ 1)。デフォルト値は 100 です。
blueMultiplier:Number (オプション) - 青の乗数の値 (0 ~ 1)。デフォルト値は 100 です。
alphaMultiplier:Number (オプション) - アルファ透明度の乗数の値 (0 ~ 1)。デフォルト値は 100 です。

設定する値は(0~1)となっているのにデフォルト値は100という説明になっているのですよね。
色々試してみた結果、1を指定した場合100%を示し、0を指定した場合0%を示し、0.5と指定した場合50%を示している、ということらしい。

上記の事をふまえ、例えば何か適当なムービークリップを、プロパティのカラーの詳細設定で次の図のように設定したい場合があるとします。

sho1.png

これをスクリプトで記述するには

//mc : 色を変更したいムービークリップ
var trans:Transform  = new Transform( mc );
trans.colorTransform = new ColorTransform( 1, 0.5, 0.4, 0.5, 0, 0, 0, 0 );

とすればいいようです。
しかし、この乗数の値は詳細設定ウインドウでは次の図のようにマイナスの値も設定できるので

sho2.png

このような設定にしたい場合、スクリプトでは同様にマイナスの値を指定します。

//mc : 色を変更したいムービークリップ
var trans:Transform  = new Transform( mc );
trans.colorTransform = new ColorTransform( -1, 1, 1, 1, 0, 0, 0, 0 );

つまり設定できる値は(0~1)ではなく(-1~1)であるということなのですかな。

[ FLASH ] [ tips ] 投稿者 siratama : 2005年11月05日 23:50

トラックバック

http://www.dango-itimi.com/blog/mt-tb.cgi/788

コメント

以下コメントを書き込むだけでは、管理人には通知が行われません。通知を行いたい場合、管理人の書き込みに「返信」を押してコメントをしていただくか、あるいは Google+, Twitter へご連絡ください。




[EDIT]