パッケージ | spark.filters |
クラス | public dynamic class ShaderFilter |
継承 | ShaderFilter ![]() |
実装 | IBitmapFilter, IEventDispatcher |
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ShaderFilter クラスは、Shader オブジェクトのインスタンスまたは(Embed からなどの)Shader の Class の代理のいずれかを使用して初期化する必要があります。続いて、ShaderFilter クラスは基になる Shader に対するプロキシとして機能し、単純な名前付きプロパティとしてスカラーおよび多次元の両方のシェーダー入力パラメーターに直接アクセスするための便利なメカニズムを提供します。
単純なスカラーシェーダー入力パラメーター(FLOAT 型や INT 型など)を設定するには、myFilter.radius
のように、プロパティを直接参照できます。
多次元シェーダー入力パラメーター(FLOAT2 など)の個別のコンポーネントを設定またはアニメーション化するには、プロパティ接尾辞の規則を使用して、個別の値に直接アクセスできます。次のコードは、FLOAT2 プロパティ center
の 1 番目と 2 番目のコンポーネントを設定する 2 つの方法を示しています。
// 'center' is an input parameter of type FLOAT2.
shader.center = [10,20];
// Use property suffix convention to access the first and second component of 'center'.
shader.center_x = 10;
shader.center_y = 20;
サポートされていて使用できるすべてのプロパティ接尾辞は次のとおりです。
- 型 BOOL2、BOOL3、BOOL4、FLOAT2、FLOAT3、FLOAT4、INT2、INT3、または INT4 のシェーダー入力パラメーターの場合、「r g b a」、「x y z w」、または「s t p q」を使用して、それぞれ 1 番目、2 番目、3 番目および 4 番目のコンポーネントにアクセスできます。
- 型 MATRIX2x2、MATRIX3x3 または MATRIX4x4 のシェーダー入力パラメーターの場合、「a b c d e f g h i j k l m n o p」を使用して、特定のマトリックスのそれぞれ 1 番目から 16 番目のコンポーネントにアクセスできます。
ShaderFilter のプロパティは(アニメーション化中などに)変化するため、ShaderFilter は自動的に、適用先のビジュアルコンポーネントのフィルター配列に自身を再適用します。
MXML シンタックス
The <s:ShaderFilter>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ShaderFilter Properties bottomExtension="0" leftExtension="0" precisionHint="full" rightExtension="0" shader="[]" topExtension="0" />
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
bottomExtension : int
ターゲットオブジェクトの下部でピクセルを増加します。 | ShaderFilter | ||
leftExtension : int
ターゲットオブジェクトの左側でピクセルを増加します。 | ShaderFilter | ||
precisionHint : String
基になるシェーダーが実行する算術演算の精度です。 | ShaderFilter | ||
rightExtension : int
ターゲットオブジェクトの右側でピクセルを増加します。 | ShaderFilter | ||
shader : Shader
flash.display.Shader インスタンスです。 | ShaderFilter | ||
topExtension : int
ターゲットオブジェクトの上部でピクセルを増加します。 | ShaderFilter |
メソッド | 定義元 | ||
---|---|---|---|
ShaderFilter(shader:Object = null)
コンストラクターです。 | ShaderFilter |
bottomExtension | プロパティ |
bottomExtension:int
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ターゲットオブジェクトの下部でピクセルを増加します。
実行中にシェーダーに渡されるターゲットオブジェクトの境界を超えた領域に増加します。実行時に、Flash Player または AIR は、ムービークリップの通常の境界を計算し、leftExtension
、rightExtension
、topExtension
、および bottomExtension
の値に基づいて境界を拡張します。
デフォルト値: 0。
実装
public function get bottomExtension():int
public function set bottomExtension(value:int):void
leftExtension | プロパティ |
leftExtension:int
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ターゲットオブジェクトの左側でピクセルを増加します。
実行中にシェーダーに渡されるターゲットオブジェクトの境界を超えた領域に増加します。実行時に、Flash Player または AIR は、ムービークリップの通常の境界を計算し、leftExtension
、rightExtension
、topExtension
、および bottomExtension
の値に基づいて境界を拡張します。
デフォルト値: 0。
実装
public function get leftExtension():int
public function set leftExtension(value:int):void
precisionHint | プロパティ |
precisionHint:String
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
基になるシェーダーが実行する算術演算の精度です。precisionHint プロパティで使用可能な値セットは、ShaderPrecision クラスの定数によって定義されます。
デフォルト値: ShaderPrecision.FULL。
実装
public function get precisionHint():String
public function set precisionHint(value:String):void
関連する API エレメント
rightExtension | プロパティ |
rightExtension:int
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ターゲットオブジェクトの右側でピクセルを増加します。
実行中にシェーダーに渡されるターゲットオブジェクトの境界を超えた領域に増加します。実行時に、Flash Player または AIR は、ムービークリップの通常の境界を計算し、leftExtension
、rightExtension
、topExtension
、および bottomExtension
の値に基づいて境界を拡張します。
デフォルト値: 0。
実装
public function get rightExtension():int
public function set rightExtension(value:int):void
shader | プロパティ |
topExtension | プロパティ |
topExtension:int
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 4 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ターゲットオブジェクトの上部でピクセルを増加します。
実行中にシェーダーに渡されるターゲットオブジェクトの境界を超えた領域に増加します。実行時に、Flash Player または AIR は、ムービークリップの通常の境界を計算し、leftExtension
、rightExtension
、topExtension
、および bottomExtension
の値に基づいて境界を拡張します。
デフォルト値: 0。
実装
public function get topExtension():int
public function set topExtension(value:int):void
ShaderFilter | () | コンストラクター |
<?xml version="1.0"?> <s:Application xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fx="http://ns.adobe.com/mxml/2009"> <!-- The hypothetical 'spherize' shader applied below has two input parameters, 'center' and 'radius' with the following attributes: parameter 'center' ==< type: float2 minValue: float2(-200,-200) maxValue: float2(800,500) defaultValue: float2(400,250) description: "displacement center" parameter 'radius' ==< type: float minValue: float(.1) maxValue: float(400) defaultValue: float(200) description: "radius" --> <s:Label text="ABCDEF"> <s:filters> <s:ShaderFilter shader="@Embed(source='shaders/spherize.pbj')" radius="25" center_x="50" center_y="15" /> </s:filters> </s:Label> </s:Application>
Tue Jun 12 2018, 10:34 AM Z