| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
BevelFilter クラスを使用すると、表示オブジェクトにベベル効果を追加できます。ボタンなどのオブジェクトにベベル効果を適用すると 3 次元的に表現されます。異なるハイライトカラー、シャドウカラー、ベベルのぼかし量、ベベルの角度、ベベルの配置、ノックアウト効果を使用して、ベベルの外観をカスタマイズできます。このフィルタは、MovieClip、SimpleButton、TextField、Video オブジェクトなどの DisplayObject クラスから継承した表示オブジェクト、および BitmapData オブジェクトに適用できます。
新しいフィルタを作成するには、コンストラクタ new BevelFilter() を使用します。 フィルタの使用方法は、フィルタの適用先オブジェクトによって異なります。
-
ムービークリップ、テキストフィールド、ボタン、およびビデオにフィルタを適用する場合は、DisplayObject から継承した
filters プロパティを使用します。オブジェクトの filters プロパティを設定しても、オブジェクトは変更されません。filters プロパティをクリアすることにより、フィルタを取り消すことができます。
-
BitmapData オブジェクトにフィルタを適用するには、
BitmapData.applyFilter() メソッドを使用します。BitmapData オブジェクトで applyFilter() を呼び出すことによって、ソース BitmapData オブジェクトとフィルタオブジェクトが取得され、フィルタを適用したイメージが生成されます。
表示オブジェクトにフィルタを適用すると、オブジェクトの cacheAsBitmap プロパティの値が true に設定されます。 すべてのフィルタを削除すると、cacheAsBitmap の元の値が復元されます。
このフィルタはステージの拡大 / 縮小に対応していますが、通常の拡大 / 縮小、回転、傾斜には対応していません。オブジェクト自体が拡大 / 縮小される場合(scaleX と scaleY プロパティが 100% に設定されていない場合)、フィルタは拡大 / 縮小されません。フィルタが拡大 / 縮小されるのは、ユーザーがステージをズームインする場合のみです。
結果として得られるイメージが最大サイズを超える場合は、フィルタは適用されません。AIR 1.5 および Flash Player 10 では、幅または高さの最大サイズは 8,192 ピクセル、ピクセル総数は 16,777,216 ピクセルです(したがって、イメージの幅が 8,192 ピクセルの場合、高さを 2,048 ピクセル以下にする必要があります)。Flash Player 9 以前および AIR 1.1 以前では、高さの制限は 2,880 ピクセル、幅の制限は 2,880 ピクセルです。例えば、フィルタが適用されたサイズの大きいムービークリップをズームインするとき、結果として得られるイメージが最大サイズを超える場合は、フィルタがオフになります。
例を表示
angle:Number [読み書き可能]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ベベルの角度です。有効な値の範囲は 0 ~ 360°です。デフォルト値は 45° です。
角度の値は、オブジェクトに対する架空の光源の角度を表し、オブジェクトに対する効果の相対位置を決定します。distance プロパティが 0 に設定された場合、効果がオブジェクトからオフセットされないため、angle プロパティは適用されません。
実装 public function get angle():Number public function set angle(value:Number):voidblurX:Number [読み書き可能]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
水平方向のぼかし量(ピクセル単位)です。指定できる値は 0 ~ 255(浮動小数)です。デフォルト値は 4 です。2 のべき乗(2、4、8、16、32 など)は、他の値と比べて速くレンダリングできるよう最適化されます。
実装 public function get blurX():Number public function set blurX(value:Number):voidblurY:Number [読み書き可能]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
垂直方向のぼかし量(ピクセル単位)です。指定できる値は 0 ~ 255(浮動小数)です。デフォルト値は 4 です。2 のべき乗(2、4、8、16、32 など)は、他の値と比べて速くレンダリングできるよう最適化されます。
実装 public function get blurY():Number public function set blurY(value:Number):voiddistance:Number [読み書き可能]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ベベルのオフセット距離です。この値はピクセル単位で指定します(浮動小数値)。デフォルト値は 4 です。
実装 public function get distance():Number public function set distance(value:Number):voidhighlightAlpha:Number [読み書き可能]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ハイライトカラーのアルファ透明度の値です。値には、0 ~ 1 の正規化した値を指定します。例えば、.25 を指定すると、透明度の値として 25% が設定されます。デフォルト値は 1 です。
実装 public function get highlightAlpha():Number public function set highlightAlpha(value:Number):voidhighlightColor:uint [読み書き可能]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ベベルのハイライトカラーです。指定できる値は、16 進数形式 (0xRRGGBB) です。 デフォルト値は 0xFFFFFF です。
実装 public function get highlightColor():uint public function set highlightColor(value:uint):voidknockout:Boolean [読み書き可能]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
true の場合は、ノックアウト効果を適用します。その結果、オブジェクトの塗りが透明になり、ドキュメントの背景色が表示されます。 デフォルト値は false(ノックアウトなし)です。
実装 public function get knockout():Boolean public function set knockout(value:Boolean):voidquality:int [読み書き可能]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
フィルタを適用する回数。デフォルト値は、フィルタを 1 回適用することに相当する BitmapFilterQuality.LOW です。 値 BitmapFilterQuality.MEDIUM はフィルタを 2 回適用します。値 BitmapFilterQuality.HIGH はフィルタを 3 回適用します。フィルタに設定された値が小さいほど、速くレンダリングできます。
多くのアプリケーションでは、quality の値は低、中、または高で十分です。最大 15 までの値を使用してさまざまな効果を出すことができますが、値が大きくなるほどレンダリング速度が低下します。quality の値を増やす代わりに、blurX と blurY の各プロパティの値を増やすだけで、同様の効果が得られます。この方法を実行すると、より高速にレンダリングされます。
次の BitmapFilterQuality 定数を使用して、quality プロパティの値を指定できます。
-
BitmapFilterQuality.LOW
-
BitmapFilterQuality.MEDIUM
-
BitmapFilterQuality.HIGH
実装 public function get quality():int public function set quality(value:int):voidshadowAlpha:Number [読み書き可能]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
シャドウカラーのアルファ透明度の値です。値には、0 ~ 1 の正規化した値を指定します。例えば、.25 を指定すると、透明度の値として 25% が設定されます。デフォルト値は 1 です。
実装 public function get shadowAlpha():Number public function set shadowAlpha(value:Number):voidshadowColor:uint [読み書き可能]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ベベルのシャドウカラーです。指定できる値は、16 進数形式 (0xRRGGBB) です。 デフォルト値は 0x000000 です。
実装 public function get shadowColor():uint public function set shadowColor(value:uint):voidstrength:Number [読み書き可能]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
インプリントの強さまたは広がりです。有効な値の範囲は 0 ~ 255 です。値が大きいほど、濃い色がインプリントされるので、ベベルと背景との間のコントラストが強くなります。デフォルト値は 1 です。
実装 public function get strength():Number public function set strength(value:Number):voidtype:String [読み書き可能]
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
オブジェクトでのベベルの配置です。内側および外側のベベルは、内側または外側のエッジに配置され、フルベベルはオブジェクト全体に配置されます。指定できる値は、次の BitmapFilterType 定数です。
-
BitmapFilterType.INNER
-
BitmapFilterType.OUTER
-
BitmapFilterType.FULL
実装 public function get type():String public function set type(value:String):void 例外 public function BevelFilter(distance:Number = 4.0, angle:Number = 45, highlightColor:uint = 0xFFFFFF, highlightAlpha:Number = 1.0, shadowColor:uint = 0x000000, shadowAlpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
指定されたパラメータで新しい BevelFilter インスタンスを初期化します。
パラメータ | distance:Number (default = 4.0) — ベベルのオフセット距離(ピクセル単位)です(浮動小数)。 |
| |
| angle:Number (default = 45) — ベベルの角度(0 ~ 360 度)です。 |
| |
| highlightColor:uint (default = 0xFFFFFF) —
ベベルのハイライトカラー 0xRRGGBB です。
|
| |
| highlightAlpha:Number (default = 1.0) — ハイライトカラーのアルファ透明度の値です。0.0 ~ 1.0 の値を指定できます。例えば .25 と指定すると、透明度は 25% になります。 |
| |
| shadowColor:uint (default = 0x000000) —
ベベルのシャドウカラー 0xRRGGBB です。
|
| |
| shadowAlpha:Number (default = 1.0) — シャドウカラーのアルファ透明度の値です。0.0 ~ 1.0 の値を指定できます。例えば .25 と指定すると、透明度は 25% になります。 |
| |
| blurX:Number (default = 4.0) — 水平方向のぼかし量(ピクセル単位)です。指定できる値は 0 ~ 255.0(浮動小数)です。 |
| |
| blurY:Number (default = 4.0) — 垂直方向のぼかし量(ピクセル単位)です。指定できる値は 0 ~ 255.0(浮動小数)です。 |
| |
| strength:Number (default = 1) — インプリントの強さまたは広がりです。値が大きいほど、濃い色がインプリントされるので、ベベルと背景との間のコントラストが強くなります。指定できる値は 0 ~ 255.0 です。 |
| |
| quality:int (default = 1) —
ベベルの品質です。指定できる値は 0 ~ 15 ですが、多くのアプリケーションでは BitmapFilterQuality 定数を使用できます。
-
BitmapFilterQuality.LOW
-
BitmapFilterQuality.MEDIUM
-
BitmapFilterQuality.HIGH
フィルタに設定された値が小さいほど、速くレンダリングできます。指定できる他の数値を使用すると、異なる効果を作り出すことができます。
|
| |
| type:String (default = "inner") —
ベベルの種類です。指定できる値は、次の BitmapFilterType 定数です。BitmapFilterType.INNER、BitmapFilterType.OUTER または BitmapFilterType.FULL。
|
| |
| knockout:Boolean (default = false) —
true の場合は、ノックアウト効果を適用します。その結果、オブジェクトの塗りが透明になり、ドキュメントの背景色が表示されます。
|
関連項目
override public function clone():BitmapFilter| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
このフィルタオブジェクトのコピーを返します。
戻り値 | BitmapFilter — 元の BevelFilter インスタンスとプロパティがすべて同じである新しい BevelFilter インスタンスです。 |
次の例では、暗い黄色の四角形を作成し、明るい黄色(0xFFFF00)のハイライトと青(0x0000FF)のシャドウでベベルを適用します。この例に対する一般的なワークフローは、次のようになります。
- 必要なクラスを読み込みます。
-
draw() 関数で使用する 3 つのプロパティを宣言します。この関数は、ベベルフィルタを適用するオブジェクトを描画します。
-
BevelFilterExample() コンストラクタ関数を作成します。この関数は、次の処理を行います。
-
draw() 関数を呼び出します。この関数は後で宣言されます。
-
filter 変数を BitmapFilter オブジェクトとして宣言し、これを getBitmapFilter() を呼び出した戻り値に割り当てます。
-
新しい配列オブジェクト
myFilters を作成し、その配列に filter を追加します。さらに myFilters を BevelFilterExample オブジェクトの filters プロパティに割り当てます。 これにより、myFilters で見つかったすべてのフィルタが適用されます。この場合は、filter だけです。
-
getBitmapFilter 関数を作成して、フィルタのプロパティを作成して設定します。
-
draw() 関数を作成します。この関数は、Sprite クラスの graphics プロパティを介してアクセスする Graphics クラスのメソッドを使用して、四角形を描画します。
package {
import flash.display.Sprite;
import flash.filters.BevelFilter;
import flash.filters.BitmapFilter;
import flash.filters.BitmapFilterQuality;
import flash.filters.BitmapFilterType;
public class BevelFilterExample extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var size:uint = 80;
private var offset:uint = 50;
public function BevelFilterExample() {
draw();
var filter:BitmapFilter = getBitmapFilter();
var myFilters:Array = new Array();
myFilters.push(filter);
filters = myFilters;
}
private function getBitmapFilter():BitmapFilter {
var distance:Number = 5;
var angleInDegrees:Number = 45;
var highlightColor:Number = 0xFFFF00;
var highlightAlpha:Number = 0.8;
var shadowColor:Number = 0x0000FF;
var shadowAlpha:Number = 0.8;
var blurX:Number = 5;
var blurY:Number = 5;
var strength:Number = 5;
var quality:Number = BitmapFilterQuality.HIGH;
var type:String = BitmapFilterType.INNER;
var knockout:Boolean = false;
return new BevelFilter(distance,
angleInDegrees,
highlightColor,
highlightAlpha,
shadowColor,
shadowAlpha,
blurX,
blurY,
strength,
quality,
type,
knockout);
}
private function draw():void {
graphics.beginFill(bgColor);
graphics.drawRect(offset, offset, size, size);
graphics.endFill();
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Thu Jan 8 2009, 12:14 AM -08:00