Paket | spark.filters |
Klasse | public dynamic class ShaderFilter |
Vererbung | ShaderFilter ![]() |
Implementiert | IBitmapFilter, IEventDispatcher |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Die ShaderFilter-Klasse muss entweder mit einer Instanz eines Shader-Objekts oder mit einem Class-Repräsentanten eines Shaders (wie bei einer Einbettung) initialisiert werden. Die ShaderFilter-Klasse dient dann als Proxy für den zugrunde liegenden Shader und bietet einen bequemen direkten Zugriff auf skalare und mehrdimensionale Shader-Eingabeparameter in Form von einfach benannten Eigenschaften.
Sie können einen einfachen Skalar-Shader-Eingabeparameter wie FLOAT oder INT festlegen, indem Sie direkt auf die Eigenschaft verweisen (z. B. myFilter.radius
).
Sie können eine einzelne Komponente eines mehrdimensionalen Shader-Eingabeparameters wie FLOAT2 festlegen oder animieren, indem Sie eine Eigenschaftssuffixkonvention für den direkten Zugriff auf den einzelnen Wert verwenden. Der folgende Code zeigt zwei Arten zum Festlegen der ersten und zweiten Komponente der FLOAT2-Eigenschaft center
:
// '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;
Im Folgenden ist der gesamte Satz von unterstützten Eigenschaftssuffixen aufgeführt:
- Für Shader-Eingabeparameter des Typs BOOL2, BOOL3, BOOL4, FLOAT2, FLOAT3, FLOAT4, INT2, INT3 oder INT4 können Sie „r g b a“, „x y z w“ oder „s t p q“ verwenden, um jeweils auf die erste, zweite, dritte und vierte Komponente zuzugreifen.
- Für Shader-Eingabeparameter des Typs MATRIX2x2, MATRIX3x3 oder MATRIX4x4 können Sie „a b c d e f g h i j k l m n o p“ verwenden, um jeweils auf die 1. bis 16. Komponente einer angegebenen Matrix zuzugreifen.
Da sich die Eigenschaften im ShaderFilter ändern (z. B. während der Animation), wird der ShaderFilter automatisch auf das Filter-Array der visuellen Komponente, auf die er angewendet ist, erneut angewendet.
MXML-Syntax
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" />
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
bottomExtension : int
Die Erweiterung an der unteren Seite des Zielobjekts in Pixel. | ShaderFilter | ||
leftExtension : int
Die Erweiterung an der linken Seite des Zielobjekts in Pixel. | ShaderFilter | ||
precisionHint : String
Die Genauigkeit der mathematischen Operationen, die vom zugrunde liegenden Shader ausgeführt werden. | ShaderFilter | ||
rightExtension : int
Die Erweiterung an der rechten Seite des Zielobjekts in Pixel. | ShaderFilter | ||
shader : Shader
Eine flash.display.Shader-Instanz. | ShaderFilter | ||
topExtension : int
Die Erweiterung an der oberen Seite des Zielobjekts in Pixeln. | ShaderFilter |
Methode | Definiert von | ||
---|---|---|---|
ShaderFilter(shader:Object = null)
Konstruktor. | ShaderFilter |
bottomExtension | Eigenschaft |
bottomExtension:int
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Die Erweiterung an der unteren Seite des Zielobjekts in Pixel.
Die Erweiterung ist der Bereich außerhalb der Grenzen des Zielobjekts, das während der Ausführung an den Shader übergeben wird. Bei der Ausführung berechnet Flash Player oder AIR die normalen Grenzen eines Movieclips und erweitert sie auf Basis der Werte leftExtension
, rightExtension
, topExtension
und bottomExtension
.
Der Standardwert ist 0.
Implementierung
public function get bottomExtension():int
public function set bottomExtension(value:int):void
leftExtension | Eigenschaft |
leftExtension:int
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Die Erweiterung an der linken Seite des Zielobjekts in Pixel.
Die Erweiterung ist der Bereich außerhalb der Grenzen des Zielobjekts, das während der Ausführung an den Shader übergeben wird. Bei der Ausführung berechnet Flash Player oder AIR die normalen Grenzen eines Movieclips und erweitert sie auf Basis der Werte leftExtension
, rightExtension
, topExtension
und bottomExtension
.
Der Standardwert ist 0.
Implementierung
public function get leftExtension():int
public function set leftExtension(value:int):void
precisionHint | Eigenschaft |
precisionHint:String
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Die Genauigkeit der mathematischen Operationen, die vom zugrunde liegenden Shader ausgeführt werden. Die zulässigen Werte für die precisionHint-Eigenschaft werden durch die Konstanten in der ShaderPrecision-Klasse definiert.
Der Standardwert ist ShaderPrecision.FULL.
Implementierung
public function get precisionHint():String
public function set precisionHint(value:String):void
Verwandte API-Elemente
rightExtension | Eigenschaft |
rightExtension:int
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Die Erweiterung an der rechten Seite des Zielobjekts in Pixel.
Die Erweiterung ist der Bereich außerhalb der Grenzen des Zielobjekts, das während der Ausführung an den Shader übergeben wird. Bei der Ausführung berechnet Flash Player oder AIR die normalen Grenzen eines Movieclips und erweitert sie auf Basis der Werte leftExtension
, rightExtension
, topExtension
und bottomExtension
.
Der Standardwert ist 0.
Implementierung
public function get rightExtension():int
public function set rightExtension(value:int):void
shader | Eigenschaft |
topExtension | Eigenschaft |
topExtension:int
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Die Erweiterung an der oberen Seite des Zielobjekts in Pixeln.
Die Erweiterung ist der Bereich außerhalb der Grenzen des Zielobjekts, das während der Ausführung an den Shader übergeben wird. Bei der Ausführung berechnet Flash Player oder AIR die normalen Grenzen eines Movieclips und erweitert sie auf Basis der Werte leftExtension
, rightExtension
, topExtension
und bottomExtension
.
Der Standardwert ist 0.
Implementierung
public function get topExtension():int
public function set topExtension(value:int):void
ShaderFilter | () | Konstruktor |
public function ShaderFilter(shader:Object = null)
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Konstruktor.
Parametershader:Object (default = null ) — Vollständig realisierte flash.display.Shader-Instanz oder Klasse, die einen Shader darstellt (wie bei einer Einbettung).
|
<?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:04 AM Z