今までそのつど書いてたけど、MovieClipの着色は回りくどくてめんどくさいので使い回しできるように関数化してみた。
0xから始まる16進数の数字を10進数で表したRGB値に変換する関数。
function hex2rgb(hex:Number):Array
{
var rgb:Array = [];
rgb[0] = hex >> 16 & 0xff;
rgb[1] = hex >> 8 & 0xff;
rgb[2] = hex & 0xff;
return rgb;
}
逆に10進数で表したRGB値を0xから始まる16進数の数字に変換する関数。
function rgb2hex(r:Object, g:Number, b:Number):Number
{
if (arguments.length == 1)
{
return (r[0] << 16 | r[1] << 8 | r[2]);
}
return (r << 16 | g << 8 | b);
}
MovieClipを指定のRGB値を格納した配列で変更する。
function setColor(mc:MovieClip, rgb:Array):Void
{
mc.transform.colorTransform = new flash.geom.ColorTransform(0, 0, 0, 1, rgb[0], rgb[1], rgb[2], 0);
}
上のsetColorで変更したMovieClipの現在のRGB値を配列で返す。
function getColor(mc:MovieClip):Array
{
var rgb:Array = [];
rgb[0] = mc.transform.colorTransform.redOffset;
rgb[1] = mc.transform.colorTransform.greenOffset;
rgb[2] = mc.transform.colorTransform.blueOffset;
return rgb;
}
で、これらをまとめたクラス→コレ
br>
このエントリーのトラックバックURL:
http://source-laboratory.net/mt/mt-tb.cgi/82
西村斉輝(にしむらなおき)
1984年兵庫県生まれ。
現在多摩美術大学GD科在籍。
パーソナルサイト
source laboratory™運営。
Powerd by
MovableType 4.1
コメント