| パッケージ | spark.filters |
| クラス | public dynamic class ShaderFilter |
| 継承 | ShaderFilter Proxy |
| 実装 | 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 シンタックス
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):voidleftExtension | プロパティ |
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):voidprecisionHint | プロパティ |
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):voidshader | プロパティ |
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):voidShaderFilter | () | コンストラクター |
<?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
MXML シンタックスを表示