pour éviter de recompiler le framework de Flex après avoir corrigé un certain nombre de bugs dans les
composants d’ origine de Flex, il suffit de copier les fichiers sources .as dans le répertoire src de votre projet en respectant le package ainsi que les fichiers liés.
Par exemple voici ce que donne la disposition des fichiers si on décide de modifier la composant TabNavigator d’ origine.
<mx:Style>
.playButton {
down-icon: Embed(source=”assets/player_play.png”);
over-icon: Embed(source=”assets/player_play.png”);
up-icon: Embed(source=”assets/player_play.png”);
selected-disabled-icon: Embed(source=”assets/player_pause.png”);
selected-over-icon: Embed(source=”assets/player_pause.png”);
selected-up-icon: Embed(source=”assets/player_pause.png”);
}
</mx:Style>
Comment afficher une icône suivant la valeur d’ une variable sous Flex ?
Il fait utiliser les opérateurs : ?
icon=“{(variable==1)?class1:class2}”
ex: si variable==1 alors l’ icône sera class1 sinon elle sera de classe2
Pour ceux qui essayent de compiler sous Flex du AS3 fait pour Flash9 et obtiennent souvent des erreurs de style:
“TypeError: Error #1034: Echec de la contrainte de type : conversion de flash.display::Shape @4bca0f9 en mx.core.IUIComponent impossible.”
Cette erreur vient du fait que l’ application d’ origine de Flex est un CANVAS qui n’ accepte que des composants dérivant de IUIComponent. Or Shape ou Sprite ne sont pas des composants ! Donc il ne faut pas utiliser le Canvas mais un autre composant qui accepte les sprites et shapes !
2 solutions :
1) faire hériter Shape de IUIComponent (lourd)
2) Créer un composant container à partir de UIComponent et le placer dans le stage, qu’on appellera “container” pas exemple
Ensuite il suffira de faire un container.addChild sur les shapes ou les sprites !
En Flex, il n’y pas de propriété TOP pour contraindre en actionscript un composant à être aligné vers le haut.
Pour le faire par l’actionscript, vous devez utiliser un style: par exemple
someComponent.setStyle("top", 0);
Mots clés Technorati :
flex,
toogleButtonBar
Voici la manière la plus simple de créer un toogleButtonBar
<mx:ToggleButtonBar width=“196″ height=“35″>
<mx:Array>
<mx:Object icon=“@Embed(’assets/couple.png’)”/>
<mx:Object icon=“@Embed(’assets/couple.png’)” label=“220″/>
<mx:Object icon=“@Embed(’assets/couple.png’)” label=“230″/>
</mx:Array>
</mx:ToggleButtonBar>
<mx:XMLList id=“penMenu”>
<menu label=“1px” value=“1″/>
<menu label=“2px” value=“2″/>
<menu label=“3px” value=“3″/>
<menu label=“4px” value=“4″/>
<menu label=“6px” value=“6″/>
<menu label=“8px” value=“8″/>
<menu label=“10px” value=“10″/>
<menu label=“14px” value=“14″/>
<menu label=“18px” value=“18″/>
<menu label=“20px” value=“20″/>
</mx:XMLList>
une fois le menu défini, insérer une comboBox comme:
<mx:ComboBox labelField=”@label” x=”144″ y=”2″ width=”64″ height=”32″ id=”pencil_cmb” dataProvider=”{penMenu}” selectedIndex=”5″></mx:ComboBox>
Vous n’avez plus qu’à lire le contenu de l’item choisi dans:
pencil_cmb.selectedItem.@value
ATTENTENTION à bien utiliser l’ opérateur @ pour spécifier une propriété XML.
Mots clés Technorati :
flex touches raccourcis
Ctrl-F11: EXECUTER
F11: Debug
Ctrl-Alt-Down: répéter ligne courante A
Ctrl-Click: Aller à la définition (comme F3)
Ctrl-D: Effacer ligne
Ctrl-Up: Scroll Haut
Ctrl-Down: Scroll Bas
SIte: www.flexvideochat.com : un chat encore une fois en FLEX et RED5 !
C’est l’ossature du chat Dialogoo.com : simple et efficace avec le code source fourni. Il s’agit d’un chat mono webcam avec son et quelques fonctions d’ administration basiques.
Facilement configurable grâce à l’emploi des CSS, il intégre également un système de SMILEYS - emoticones sous Flex.
[YouTube=http://www.youtube.com/watch?v=T1y-EQFZaiY]
YouTube - Video136.mp4
Lors d’un ITEMRENDERER, j’utilise l’évènement creationComplete.
Assez curieusement, cet évènement est appelé 2 fois.
Alert.show(”creation Completed”+this.name);
Lors du deuxième appel, l”évènement retourne comme nom hiddenItem
Afin d’éviter une double initialisation et une double création d’objets, un simple test suffit:
if (this.name==”hiddenItem”) return;
A quoi peut bien correspondre ce hiddenItem ?
commentaires récenets