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

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
Lire l’intégralité de cet article »

Technorati
Publié dans Flex possède 1 Commentaire »

Mise à jour de 3 articles

13 décembre 2007 par PeZ

Juste un petit message pour signaler que j’ai profité de la sortie de la beta 3 de AIR pour mettre à jour la série d’articles que j’avais écrit sur l’API de Drag & Drop :
Lire l’intégralité de cet article »

No Tags
Publié dans A.I.R. possède 2 Commentaires »

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 »

Nouvelle section ‘Ressources’

24 juillet 2007 par PeZ

Alors que je prépare un nouvel article sur la dernière version de Papervision , j'en profite pour ajouter une section 'Ressources' dans laquelle vous trouverez divers liens qui vous seront peut-être utiles.

Cette section évoluera bien sûr au fur et à mesure des dernières nouveautés.

Si vous en avez à faire partager (mis à part les gros classiques) , laissez les en commentaire :)

No Tags
Publié dans Général possède 1 Commentaire »

Bases de données locales dans AIR

11 juillet 2007 par PeZ

Une des fonctionnalités qui est apparue entre la release alpha et beta de AIR est l'intégration des bases de données en mode local.
Ce billet introduit cette nouveauté en plusieurs points : A quel type de SGBD a-t-on à faire? Quels utilisations peuvent en ressortir et quels changements peut-on anticiper sur les prochaines releases?

Lire l'intégralité de cet article »

Technorati ,
Publié dans A.I.R. possède 9 Commentaires »

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.

Lire l'intégralité de cet article »

Technorati
Publié dans Flex possède Pas de commentaires »

L’API ‘Drag And Drop’ de AIR (3ème Partie)

26 juin 2007 par PeZ

Cet article a été mis à jour le 13 décembre 2007 afin de respecter les changements qui ont été apportés à la Beta 3 de AIR.

Cette série d'articles touche à sa dernière partie. Celle-ci porte sur les types d'actions d'un Drag&Drop et sur le rendu différé
Lire l'intégralité de cet article »

Technorati , , , ,
Publié dans A.I.R. possède 3 Commentaires »

L’API ‘Drag And Drop’ de AIR (2ème Partie)

25 juin 2007 par PeZ

Cet article a été mis à jour le 13 décembre 2007 afin de respecter les changements qui ont été apportés à la Beta 3 de AIR.

Après avoir vu le glisser/déposer d'un élément d'une application AIR vers une application de l'OS dans la première partie, c'est le chemin inverse qui sera vu dans ce billet : l'action de Drag-In. C'est vraiment pas compliqué , surtout si vous avez déjà assimilé le billet précédent sur le sujet. Lire l'intégralité de cet article »

Technorati , , ,
Publié dans A.I.R. possède 1 Commentaire »

L’API ‘Drag And Drop’ de AIR (1ère Partie)

19 juin 2007 par PeZ

Cet article a été mis à jour le 13 décembre 2007 afin de respecter les changements qui ont été apportés à la Beta 3 de AIR.

Pour changer un peu des panoramas et de Papervision3D, regardons ce qui se passe du côté de l'Adobe Integrated Runtime, disponible depuis peu en version beta 3 sur le labs, et plus particulièrement sur le support du Drag And Drop.

Cette API vous permet de transférer des données entre une application AIR et des applications externes au runtime (par ex: l'explorateur de fichiers, le navigateur, un logiciel de retouche photo,...) par un mouvement de "Glisser/déposer". Lire l'intégralité de cet article »

Technorati , ,
Publié dans A.I.R. possède 8 Commentaires »

Création de hotspots dans un panorama

18 juin 2007 par PeZ

Les hotspots représentent des zones d'interactivité dans un panorama. Ils peuvent avoir pour but le déplacement de pièces en pièces, l'affichage d'informations, le lancement d'une vidéo, etc...

Pour démarrer en douceur , nous allons commencer par ajouter des hotspots sur une des visionneuses du post précédent.
Ceux-ci afficheront un simple texte lorsque l'on clique dessus. Lire l'intégralité de cet article »

No Tags
Publié dans Flash, Papervision3D possède 7 Commentaires »

« Précédentes Entrées