« 2006年02月 | メイン | 2006年04月 »

2006年03月29日

ColorTransformで色反転

ColorオブジェクトのヘルプにFlash Player 8 以降では使用しないでください。~以下略なんて書いてあるもんだからColorTransformオブジェクトをいじってみる。MCの場合はMovieClip.transform.colorTransformをいじるってことのようだけど、例えばボタンクリックで色の反転のように前の値と新しい値を比較して色を決めるときってMCの場合concatを使わなきゃいかんのかな。なんかビットマップとはちょっと書き方がかわってしまうんかな。やりたいことは一応以下のように実現できましたが。

import flash.display.BitmapData;

import flash.geom.ColorTransform;

//BitmapDataのとき
var h_mc:MovieClip = this.createEmptyMovieClip("h_mc",1);
var bmp:BitmapData = BitmapData.loadBitmap("p1");
h_mc.attachBitmap(bmp,1);
h_mc.onRelease = function(){
var _color:ColorTransform = new ColorTransform(-1, -1, -1, 1, 255, 255, 255, 0);
bmp.colorTransform(bmp.rectangle, _color);
}

//MoiveClipの時
mc2.onRelease = function(){
var _color1:ColorTransform = this.transform.colorTransform;
var _color2:ColorTransform = new ColorTransform(-1, -1, -1, 1, 255, 255, 255, 0);
_color1.concat(_color2);
this.transform.colorTransform = _color1;
}