04/02/2011

Appliquer le même filtre sur plusieurs composants

Dans le cas d'un projet, je suis parfois amené à appliquer un effet d'ombré (par exemple) sur plusieurs containers. Pour éviter de dupliquer le même code et éviter des erreurs en cas de modifications des paramètres du filtres, il faut créer une fonction qui contiendra les paramètres du filtre que je  veux appliquer, puis appeler cette fonction dans la propriété filters du composant :

<mx:Script>
  <![CDATA[
    private function appliqueUneOmbre():DropShadowFilter {
       var distance:Number = 3;
       var angle:Number = 90;
       var color:Number = 0x000000;
       var alpha:Number = 1;
       var blurX:Number = 8;
       var blurY:Number = 8;
       var strength:Number = 0.65;
       var quality:Number = BitmapFilterQuality.LOW;
       var inner:Boolean = false;
       var knockout:Boolean = false; return new DropShadowFilter(distance, angle, color, alpha,blurX, blurY, strength, quality, inner, knockout);
    }
  ]]>
</mx:Script>

<mx:Canvas filters="{[appliqueUneOmbre()]}"/>

Aucun commentaire:

Enregistrer un commentaire