| Package | spark.filters |
| Classe | public dynamic class ShaderFilter |
| Héritage | ShaderFilter Proxy |
| 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
Masquer la syntaxe MXMLThe <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):voidleftExtension | 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):voidprecisionHint | 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):voidElé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):voidshader | 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):voidShaderFilter | () | 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
Afficher la syntaxe MXML