Package | spark.filters |
Classe | public dynamic class ShaderFilter |
Héritage | ShaderFilter ![]() |
Implémente | IBitmapFilter, IEventDispatcher |
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
La classe ShaderFilter doit être initialisée avec une instance d’un objet Shader ou d’une classe représentative d’un objet Shader (par exemple, d’un objet incorporé). La classe ShaderFilter sert alors de proxy au shader sous-jacent et offre un mécanisme pratique pour accéder aux paramètres d’entrée shader scalaire et multi-dimensionnel directement comme propriétés nommées simples.
Pour définir un paramètre d’entrée shader scalaire simple (par exemple, de type FLOAT ou INT), vous pouvez simplement vous référer directement à la propriété (par exemple, myFilter.radius
).
Pour définir ou animer un composant individuel d’un paramètre d’entrée shader multidimensionnel (par exemple, FLOAT2), vous pouvez utiliser une convention de suffixe de propriété pour traiter directement la valeur individuelle. Le code suivant illustre deux façons de définir le premier et le deuxième composants de la propriété FLOAT2 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;
Le jeu complet de suffixes de propriété pris en charge que vous pouvez utiliser est le suivant :
- Pour les paramètres d’entrée shader de type BOOL2, BOOL3, BOOL4, FLOAT2, FLOAT3, FLOAT4, INT2, INT3 ou INT4, « r g b a », « x y z w » ou « s t p q » peuvent être utilisés comme suffixes pratiques pour accéder respectivement au 1er, 2ème, 3ème et 4ème composant.
- Pour les paramètres d’entrée shader de type MATRIX2x2, MATRIX3x3 ou MATRIX4x4, « a b c d e f g h i j k l m n o p » peuvent être utilisés comme suffixes de propriété pour accéder du 1er au 16ème composant d’une matrice donnée.
Au fur et à mesure que ses propriétés changent (par exemple, lors d’une animation), la classe ShaderFilter se réapplique automatiquement elle-même au tableau de filtres du composant visuel auquel elle est appliquée.
Syntaxe 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" />
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
bottomExtension : int
Croissance en pixels sur le bas de l’objet cible. | ShaderFilter | ||
leftExtension : int
Croissance en pixels sur le côté gauche de l’objet cible. | ShaderFilter | ||
precisionHint : String
Précision des opérations mathématiques effectuées par le shader sous-jacent. | ShaderFilter | ||
rightExtension : int
Croissance en pixels sur le côté droit de l’objet cible. | ShaderFilter | ||
shader : Shader
Une instance flash.display.Shader. | ShaderFilter | ||
topExtension : int
Croissance en pixels sur le haut de l’objet cible. | ShaderFilter |
Méthode | Défini par | ||
---|---|---|---|
ShaderFilter(shader:Object = null)
Constructeur. | ShaderFilter |
bottomExtension | propriété |
bottomExtension:int
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Croissance en pixels sur le bas de l’objet cible.
La croissance correspond à la zone située au-delà des limites de l’objet cible transmise au shader durant l’exécution. Au moment de l’exécution, Flash Player ou AIR calcule les limites normales du clip et les étend sur la base des valeurs leftExtension
, rightExtension
, topExtension
et bottomExtension
.
La valeur par défaut est 0.
Implémentation
public function get bottomExtension():int
public function set bottomExtension(value:int):void
leftExtension | propriété |
leftExtension:int
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Croissance en pixels sur le côté gauche de l’objet cible.
La croissance correspond à la zone située au-delà des limites de l’objet cible transmise au shader durant l’exécution. Au moment de l’exécution, Flash Player ou AIR calcule les limites normales du clip et les étend sur la base des valeurs leftExtension
, rightExtension
, topExtension
et bottomExtension
.
La valeur par défaut est 0.
Implémentation
public function get leftExtension():int
public function set leftExtension(value:int):void
precisionHint | propriété |
precisionHint:String
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Précision des opérations mathématiques effectuées par le shader sous-jacent. L’ensemble des valeurs possibles de la propriété precisionHint est défini par les constantes de la classe ShaderPrecision.
La valeur par défaut est ShaderPrecision.FULL.
Implémentation
public function get precisionHint():String
public function set precisionHint(value:String):void
Eléments de l’API associés
rightExtension | propriété |
rightExtension:int
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Croissance en pixels sur le côté droit de l’objet cible.
La croissance correspond à la zone située au-delà des limites de l’objet cible transmise au shader durant l’exécution. Au moment de l’exécution, Flash Player ou AIR calcule les limites normales du clip et les étend sur la base des valeurs leftExtension
, rightExtension
, topExtension
et bottomExtension
.
La valeur par défaut est 0.
Implémentation
public function get rightExtension():int
public function set rightExtension(value:int):void
shader | propriété |
topExtension | propriété |
topExtension:int
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Croissance en pixels sur le haut de l’objet cible.
La croissance correspond à la zone située au-delà des limites de l’objet cible transmise au shader durant l’exécution. Au moment de l’exécution, Flash Player ou AIR calcule les limites normales du clip et les étend sur la base des valeurs leftExtension
, rightExtension
, topExtension
et bottomExtension
.
La valeur par défaut est 0.
Implémentation
public function get topExtension():int
public function set topExtension(value:int):void
ShaderFilter | () | Constructeur |
public function ShaderFilter(shader:Object = null)
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Constructeur.
Paramètresshader:Object (default = null ) — Instance flash.display.Shader entièrement réalisée ou classe représentant un shader (par exemple, depuis un objet Embed).
|
<?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, 09:30 AM Z