ColorTransFormクラス

| コメント(0) | トラックバック(0)

ムービークリップの色を変更するためのクラス。
変更するためには、「Transformクラス」のインポートも必要。

FLASH PLAYER

Get Adobe Flash player

とりあえず、実験。
ライブラリに50x50で真っ白なMC「box」(識別子:box)を用意。
タイムライン弟1フレームに下記のコードを記述。

//クラスをインポート
import flash.geom.ColorTransform;
import flash.geom.Transform;

var box:MovieClip=this.attachMovie("box","box",this.getNextHighestDepth());
//ターゲットになるMCをセットして、Transformインスタンスを生成
var trans:Transform=new Transform(box);
//カラーを設定して、ColorTransFormインスタンスを生成
var red:ColorTransform=new ColorTransform(1,1,1,1,255,-255,-255,255);
//transインスタンスのcolorTransformプロパティにColorTransFormインスタンスをセット
trans.colorTransform=red; 

結構面倒くさい。以下がコンストラクタ。

ColorTransform コンストラクタ

public ColorTransform([redMultiplier:Number], [greenMultiplier:Number], [blueMultiplier:Number], [alphaMultiplier:Number], [redOffset:Number], [greenOffset:Number], [blueOffset:Number], [alphaOffset:Number])

指定されたカラーチャンネル値とアルファ値を持つ ColorTransform オブジェクトを作成します。

使用できるバージョン
ActionScript 1.0、Flash Player 8

パラメータ
redMultiplier:Number (オプション)
赤の乗数の値 (-1 ~ 1)。デフォルト値は 1です。
greenMultiplier:Number (オプション)
緑の乗数の値 (-1 ~ 1)。デフォルト値は 1です。
blueMultiplier:Number (オプション)
青の乗数の値 (-1 ~ 1)。デフォルト値は 1です。
alphaMultiplier:Number (オプション)
アルファ透明度の乗数の値 (-1 ~ 1)。デフォルト値は 1です。
redOffset:Number (オプション)
赤のカラーチャンネル値のオフセット (-255 ~ 255)。デフォルト値は 0 です。
greenOffset:Number (オプション)
緑のカラーチャンネル値のオフセット (-255 ~ 255)。デフォルト値は 0 です。
blueOffset:Number (オプション)
青のカラーチャンネル値のオフセット (-255 ~ 255)。デフォルト値は 0 です。
alphaOffset:Number (オプション)
アルファ透明度のカラーチャンネル値のオフセット (-255 ~ 255)。デフォルト値は 0 です。

で、 こんなのつくってみた。

FLASH PLAYER

Get Adobe Flash player

画面サイズは、320x320。
20x20のMC「box(リンケージ識別子:box)」を用意。
以下、コード。

//クラスをインポート
import flash.geom.ColorTransform;
import flash.geom.Transform;

var redOffset:Number=0;
var greenOffset:Number=-255;
var blueOffset:Number=-255;
for(var i:Number=0;i<16;i++){
 for(var j:Number=0;j<16;j++){
  var syoki:Object={_x:20*j,_y:20*i};
  var box:MovieClip=this.attachMovie("box","box"+redOffset,this.getNextHighestDepth(),syoki);
  var trans:Transform=new Transform(box);
  var red:ColorTransform=new ColorTransform(1,1,1,1,redOffset,greenOffset,blueOffset,0);
  trans.colorTransform=red;
  //オフセット値を変更
  redOffset+=1;
  greenOffset+=1;
 }
}

トラックバック(0)

トラックバックURL: http://www.ayabin.jp/mt5/mt-tb.cgi/190

コメントする

このブログ記事について

このページは、webmasterが2009年8月12日 12:19に書いたブログ記事です。

ひとつ前のブログ記事は「BitmapData(1)」です。

次のブログ記事は「Matrixクラス(1)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。