Flex Effect: Animation Easing Personalisée (easingFunction) et exemple
Pour tous les effets Tween (blur, move, fade, glow, …), vous pouvez contrôler l'easing (assouplissement) qui lui est appliqué. Le terme easing correspond à la vitesse à laquelle l'effet est appliqué. La valeur par défaut du type d'easing est Linear, ce qui veut dire que l'effet est appliqué à une cadence fixe du début à la fin. Cependant, vous pouvez appliquer des effets dans un style non linéaire. Vous pouvez appliquer un easing personalisé en utilisant la propriété easingFunction.
La propriété easingFunction vous permet d'assigner une référence vers une fonction qui va accepter 4 paramètres numériques (temps de lecture, valeur initiale, nombre de changements de valeurs et durée de l'effet) et qui retourne la nouvelle valeur à utiliser. L'effet appele ensuite la fonction automatiquement chaque fois qu'il a besoin de mettre à jour la valeur de la propriété pour le composant cible. Bien que vous pouviez créer vos propres easing functions, vous trouverez surement plus simple d'essayer une des nombreuses fonctions d'easing qui sont inclues dans le package mx.effects.easing du Framework Flex.
Flex Effect: Animation des effets (Pause, Resume, Reverse, Delay et Repeat)
Effect: Pause, Resume et Reverse en AS3
Par défaut, les effets se jouent de manière normale. Cependant, vous pouvez les mettre en pause, les faire repartir et même inverser un effet. Tous les effets ont une méthode pause() et resume() qui met en pause et reprend la lecture d'un effet, respectivement.
Vous pouvez inverser la lecture d'un effet en utilisant la méthode reverse(). Si vous appelez la méthode reverse() alors qu'un effet est en cours de lecture, cela l'inversera depuis ce point et le lira en arrière jusqu'au début. Si l'effet n'était pas en lecture, appeler la méthode reverse() ne va pas jouer l'effet mais va le configurer de telle manière que la prochaine fois que l'effet sera déclenché, il sera lu à l'envers.
Retarder et Répéter les effets
Quand vous voulez retarder un effet, vous avez plusieurs options, selon ce que vous essayez de faire. Si vous voulez jouer un effet en attendant qu'un événement utilisateur ou système se déclenche, vous devriez associer l'effet avec le trigger qui correspond ou vous devriez appeler la méthode play() d'un effet en réponse à un événement. Si vous voulez ajouter un retard précis avant que l'effet ne commences après qu'il ait été déclenché ou lu, vous pouvez spécifier une valeur pour la propriété startDelay d'un effet. La propriété startDelay vous permet de spécifier combien de millisecondes l'effet va être mis en pause avant que sa lecture ne commence. La valeur par défaut est de 0, ce qui veut dire qu'il n'y a aucun retard. L'exemple suivant crée un effet Fade et le retarder de 1000 ms:
Flex Effect: Effets composites en Sequence / Parallel (MXML et AS3)
Vous pouvez créer des effets simple en utilisant les effets standards, mais vous pouvez aussi créer des effets composite en les combinant. Il y a deux manières de combiner des effets: en séquence ou en parrallèle. Le composant Sequence permet de grouper des effets que vous voulez voir apparaitre les uns après les autres.
Par exemple, vous pouvez utiliser un composant Sequence pour appliquer d'abord un Fade puis appliquer un effet Move.
Depuis le MXML, vous pouvez simplement insérer les effets que vous voulez en séquence dans le tag Sequence comme ceci:
<mx:Sequence id="sequenceEffect"> <mx:Fade /> <mx:Move xTo="100" /> </mx:Sequence>
Notez que dans l'exemple précédent, l'instance de Sequence a un attribut "id", indiquant que vous aurez suelement besoin de vous référrer à l'instance de la Sequence, plutôt qu'aux effets insérés en séquence.
<mx:TextInput creationCompleteEffect="{sequenceEffect}" />





