Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

13fév/081

Flex Transition: Programmer des Transitions en ActionScript (Move, Resize…), avec exemple AS3

Les transitions fonctionnent de la même manière en MXML qu'un ActionScript (AS3) car vous devez fixer les mêmes propriétés et ces propriétés auront le même effet que vous utilisiez du MXML ou de l'ActionScript.

Vous pouvez construire une nouvelle instance de mx.states.Transition en utilisant le constructeur:

var transition:Transition = new Transition();

Vous pouvez ensuite fixer les propriétés fromState et toState:

transition.toState = "*";
transition.fromState = "*";

Vous pouvez maintenant assigner un effet en utilisant la propriété effect:

var move:Move = new Move();
move.targets = [textInput1, textInput2];
transition.effect = move;

Enfin, il vous suffira d'ajouter simplement cette transition à la propriété transitions de l'application ou du composant:

transitions = [transition];

Il n'y a pas de vrais avantage à utiliser une transition en AS3 plutôt qu'en MXML. Le choix que vous devrez faire sera basé sur le type de document sur lequel vous voulez définir les états. Si vous ajoutez des transitions à un document MXML, vous devriez utiliser le MXML pour définir ces transitions et inversement.

L'exemple suivant montre comment reproduire l'exemple de création de transitions en MXML mais cette fois, les transitions sont écrites en Action Script.

13fév/081

Flex Transition: Créer des Transitions en MXML (Move, Resize…), avec exemple

Toutes les applications et les composants ont une propriété states que vous pouvez utiliser pour définir les états à utiliser. De même, toutes les applications et les composants ont une propriété transitions qui est un tableau de toutes les transitions que vous voulez utiliser. Dans le MXML, vous pouvez définir la propriété transitions en utilisant directement dans le premier tag (root tag) d'une appli ou d'un composant:

<mx:transitions>
	<!-- les transitions entre états apparaitront ici-->
</mx:transitions>

Tous les éléments du tableau de transitions, doivent être des object Transition. En MXML, vous créez des instances de Transition en utilisant le tag <mx:Transition>. Tous les objets Transition doivent définir une propriété fromState et toState, et ces propriétés doivent correspondre aux états entre lesquels la transition doit être appliquée.

Par exemple ce code va créer une transition depuis un état appelé A à un état appelé B:

<mx:Transition fromState="A" toState="B"/>

Si vous voulez utiliser une transition depuis ou vers un état en particulier, vous pouvez utiliser l'astérisque comme joker (wild card), ce qui veut dire "tous les états".

L'exemple suivant crée une transition entre tous les états et un état nommé B:

<mx:Transition fromState="*" toState="B"/>

Les objets Transitions doivent avoir une propriété effet qui détermine quel effet sera appliqué pendant le changement d'état. La propriété effet est la propriété par défaut lorsque vous créez un objet Transition en utilisant le MXML.