ActionScript3.0では,ムービークリップやビットマップデータ等に,一連の画像エフェクト処理である「フィルタ」を適用できます。フィルタ機能を利用する事で,多彩なエフェクト処理を,簡単に行うことができます。
ActionScript3.0では,ステージ上に表示されている物に対して「フィルタ」をかけることができます。フィルタをかけた対象は,さまざまな画像処理効果が適用され,表示されます。
図1のムービーは,ムービークリップや,写真画像に対して,いろいろなフィルタを適用するサンプルです。同じ画像ですが,フィルタを変えてみると,ちょっと印象が変わってきますね。
flash.filtersパッケージのクラス
フィルタ効果を利用したい場合には,「flash.filtersパッケージ」に用意されている各種クラスを使用します(表1)。
クラス | 対応するフィルタや効果 |
---|---|
DropShadowFilter | ドロップシャドウ |
GlowFilter | グロー |
BevelFilter | ベベル |
GradientGlowFilter | グラデーショングロー |
GradientBevelFilter | グラデーションベベル |
BlurFilter | ぼかし |
ColorMatrixFilter | カラー調整 |
ConvolutionFilter | マトリックス畳み込みフィルタ効果(スクリプトからのみ) |
DisplacementMapFilter | オブジェクトの置き換え(スクリプトからのみ) |
表1のクラスは,それぞれひとつのクラスが,ひと種類のフィルタ効果に対応しています。例えば「DropShadowFilterクラス」であれば,FlashCS3の[フィルタ機能]の「ドロップシャドウ」フィルタに対応しています。これらフィルタ効果を管理するクラスも,他のクラスと同じようにnew演算子でインスタンスを生成します。ドロップシャドウ効果を持つフィルタを作成したいのであれば,こんな感じですね。
var filter:DropShadowFilter = new DropShadowFilter();
フィルタ効果を管理するクラスは,インスタンス生成時にそのフィルタの効果の強度をコントロールする各種のパラメータを,引数として渡すことができます。パラメータの種類や数は,フィルタの種類によって異なります。
例えば次のコードでは,「対象インスタンスの60度の方向に10ピクセル分ずらした,赤色のシャドウを落とすフィルタ」を作成します。
var filter:DropShadowFilter = new DropShadowFilter(10, 60, 0xFF0000)
このようにして作成したフィルタ効果は,DisplayObjectを継承するクラス(つまり,ステージ上に表示される物全般ですね)に適用したり,BitmapDataクラスに適用したりできます。