Flashドキュメンテーション |
|||
| ActionScript 2.0 リファレンスガイド > ActionScript クラス > DisplacementMapFilter (flash.filters.DisplacementMapFilter) > DisplacementMapFilter コンストラクタ | |||
public DisplacementMapFilter(mapBitmap:BitmapData, mapPoint:Point, componentX:Number, componentY:Number, scaleX:Number, scaleY:Number, [mode:String], [color:Number], [alpha:Number])
指定されたパラメータで DisplacementMapFilter インスタンスを初期化します。
使用できるバージョン : ActionScript 1.0、Flash Player 8
mapBitmap:flash.display.BitmapData - 置き換えマップデータが含まれる BitmapData オブジェクトです。
mapPoint:flash.geom.Point - マップイメージの左上隅を基準としたターゲットムービークリップの左上隅のオフセットが含まれる flash.geom.Point 値です。
componentX:Number - x 結果を変位させる場合にどのカラーチャンネルをマップイメージで使用するかを指定します。使用できる値は次のとおりです。
componentY:Number - y 結果を変位させる場合にどのカラーチャンネルをマップイメージで使用するかを指定します。使用できる値は次のとおりです。
scaleX:Number - マップ計算の x 置き換え結果を拡大・縮小する場合に使用する乗数です。
scaleY:Number - マップ計算の y 置き換え結果を拡大・縮小する場合に使用する乗数です。
mode:String (オプション) - フィルタのモード。使用可能な値は次のとおりです。
color:Number (オプション) - 範囲外置き換えの場合に使用する色を指定します。置き換えの有効範囲は 0.0 ~ 1.0 です。mode が "color" に設定されている場合にこのパラメータを使用します。
alpha:Number (オプション) - 範囲外置き換えの場合に使用するアルファ値を指定します。このプロパティには、0.0 ~ 1.0 に正規化した値を指定します。たとえば、.25 を指定すると、透明度の値として 25% が設定されます。デフォルトは 1.0 です。このパラメータは、mode を "color" に設定する場合に使用します。
次のコンストラクタ関数は、フィルタの新しいインスタンスを作成します。
myFilter = new flash.filters.DisplacementMapFilter (mapBitmap, mapPoint, componentX, componentY, scale, [mode], [color], [alpha])
次の例では、放射状グラデーションで新しい DisplacementMapFilter をインスタンス化し、MovieClip オブジェクト txtBlock を含むテキストに適用します。
import flash.filters.DisplacementMapFilter;
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Matrix;
import flash.geom.ColorTransform;
var mapBitmap:BitmapData = createGradientBitmap(300, 80, 0xFF000000, "radial");
var mapPoint:Point = new Point(-30, -30);
var componentX:Number = 1;
var componentY:Number = 1;
var scaleX:Number = 10;
var scaleY:Number = 10;
var mode:String = "wrap";
var color:Number = 0x000000;
var alpha:Number = 0x000000;
var filter:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, mapPoint, componentX, componentY, scaleX, scaleY, mode, color, alpha);
var txtBlock:MovieClip = createTextBlock();
txtBlock._x = 30;
txtBlock._y = 30;
txtBlock.filters = new Array(filter);
function createGradientBitmap(w:Number, h:Number, bgColor:Number, type:String, hide:Boolean):BitmapData {
var mc:MovieClip = this.createEmptyMovieClip("mc", 1);
var matrix:Matrix = new Matrix();
matrix.createGradientBox(w, h, 0, 0, 0);
mc.beginGradientFill(type, [0xFF0000, 0x0000FF], [100, 100], [0x55, 0x99], matrix, "pad");
mc.lineTo(w, 0);
mc.lineTo(w, h);
mc.lineTo(0, h);
mc.lineTo(0, 0);
mc.endFill();
(hide == true) ? mc._alpha = 0 : mc._alpha = 100;
var bmp:BitmapData = new BitmapData(w, h, true, bgColor);
bmp.draw(mc, new Matrix(), new ColorTransform(), "normal", bmp.rectangle, true);
mc.attachBitmap(bmp, this.getNextHighestDepth());
return bmp;
}
function createTextBlock():MovieClip {
var txtBlock:MovieClip = this.createEmptyMovieClip("txtBlock", this.getNextHighestDepth());
txtBlock.createTextField("txt", this.getNextHighestDepth(), 0, 0, 300, 80);
txtBlock.txt.text = "watch the text bend with the displacement map";
return txtBlock;
}
RSS フィード | このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/8_jp/main/00002175.html
Comments
Takano Yoshihiro が Aug 23, 2006 の 11:36 PM に追加: