Blog sur Flash,Flex,Papervision,A.I.R., …

Archives du blog

filterFunction et itemsChangedEffect

2 mars 2008 par PeZ

Depuis la beta 2 de Flex 3, il est possible d’appliquer des effets visuels sur les itemRenderer d’une List ou d’une TileList lorsque ces éléments sont ajoutés, déplacés ou supprimés de la collection à laquelle ils appartiennent.
Si vous ne voyez pas de quoi je parle, un exemple est présent sur ce blog : ICI
Read the rest of this entry »

Technorati
Publié dans Flex possède 1 Commentaire »

Archives du blog

Flex 3 : Enhanced Constraints

16 novembre 2007 par PeZ

Un petit moment s'est passé depuis mon dernier article. La reprise des cours, les projets qui tombent sur le dos et parfois le manque de motivation sont responsables de ce passage à vide. Mais rassurez-vous, ce blog n'est pas mort et j'espère le mettre à jour plus souvent dans les semaines qui viennent.

J'ai eu l'idée de faire cet article à cause d'un projet sur lequel je travail avec mon pote nono. Il s'agit en fait d'un quizz interactif , animé par un présentateur grâce à une webcam (utilisation de Red5 pour le streaming et l'envoi/réception des questions/réponses), où les joueurs vont pouvoir répondre à des questions grâce à une WiiMote.
Nous voulions afficher les réponses possibles chez le joueur sous forme de croix :

Le Layout

Dans le même temps, nous voulions que l'application soit redimensionnable, sans perdre le layout d'origine.

La première idée fut de créer une Grid de 3x3 et de disposer les boutons à l'interieur. Mais au moment de la compilation, le compilateur indique que le composant Grid est 'deprecated' dans Flex 3 et qu'il faut utiliser à la place les propriétés constraintRows et constraintColumns.

Ne connaissant pas ces nouvelles propriétés, un tour dans la doc s'est alors imposé.

Ces propriétés permettent en fait de subdiviser en colonnes et rangées un composant qui utilise le positionnement absolu comme Canvas,Panel, Module ou encore Application. L'interêt de ce découpage? Cela permet de construire des layouts redimensionnable dans les containers qui utilisent le positionnement absolu, manipulation très difficile à réaliser dans Flex 2.

Pour créer ces subdivisions, on peut passer soit par le code, soit directement par la vue Design si on utilise Flex Builder.

Un example : Un canvas dispose de 2 colonnes. La première utilise 30% de l'espace. Le bouton 'btn' doit toujours de trouver 10 pixels à droite de la première colonne :

Actionscript:
  1. <mx:Canvas>
  2.     <mx:constraintColumns>
  3.         <mx:ConstraintColumn id="col1" width="30%"/>
  4.         <mx:ConstraintColumn id="col2"/>
  5.     </mx:constraintColumns>
  6.     <mx:Button id="btn" left="col1:10" />
  7. </mx:Canvas>

Si je reprends l'exemple des 4 boutons en croix, un découpage en 4 du Canvas est suffisant : 2 colonnes et 2 rangées qui font chacune 50% du total de l'espace. Le bouton A est alors centré horizontalement par rapport au canvas et centré verticalement dans la première rangée. Même raisonnement ensuite pour les 3 autres boutons :

Actionscript:
  1. <mx:Canvas width="100%" height="100%">
  2.     <mx:constraintRows>
  3.         <mx:ConstraintRow id="Canvas1_row1" height="50%"/>
  4.         <mx:ConstraintRow id="Canvas1_row2" height="50%"/>
  5.     </mx:constraintRows>
  6.     <mx:constraintColumns>
  7.         <mx:ConstraintColumn id="Canvas1_col1" width="50%"/>
  8.         <mx:ConstraintColumn id="Canvas1_col2" width="50%"/>
  9.     </mx:constraintColumns>
  10.     <mx:Button label="En attente des suggestions" id="repA" horizontalCenter="0" verticalCenter="Canvas1_row1:0"/>
  11.     <mx:Button label="En attente des suggestions" id="repB" verticalCenter="0" horizontalCenter="Canvas1_col1:0"/>
  12.     <mx:Button label="En attente des suggestions" id="repC" horizontalCenter="Canvas1_col2:0" verticalCenter="0"/>
  13.     <mx:Button label="En attente des suggestions" id="repD" horizontalCenter="0" verticalCenter="Canvas1_row2:0"/>
  14.    
  15. </mx:Canvas>

Il est souvent plus facile de créer ces découpages directement dans la vue Design. Une règle horizontale et une verticale se place alors automatiquement au-dessus du container autorisant ces 'Enhanced Constraints'. Il suffit alors de placer la souris sur ces règles et de cliquer pour que le code soit automatiquement généré.

Technorati , ,
Publié dans Flex possède 2 Commentaires »

Archives du blog

Composants réutilisables dans Flex : Les Templates

5 juillet 2007 par PeZ

Un des grands atouts de Flex provient du fait que son architecture autorise la réutilisabilité (si si, ça existe) des composants.
Un moyen de créer des composants réutilisables est de les définir sous forme de templates.
Il faut voir ces composants comme une coque très flexible dans le sens où ces composants définissent leur propre layout mais laissent au développeur le choix des éléments qui les composent.
Ca veut peut-être rien dire à la première lecture mais ça devrait le devenir, enfin je l'espère, d'ici la fin du billet.

Read the rest of this entry »

Technorati
Publié dans Flex possède No Comments »