Contrôler une occurrence et naviguer sur la scène
CHAPITRE 4
77
Fichier de référence : Chapitre4/encres3.fla
import fl.controls.ComboBox;
import fl.data.DataProvider;
var encres:Array = new Array("add","alpha","darken","difference","erase","hardlight",
➥"invert","layer","lighten","multiply","normal","overlay","screen","subtract");
var donneesEncres:DataProvider = new DataProvider();
for each (var nomEncre:String in encres) {
donneesEncres.addItem({label:nomEncre,value:nomEncre});
}
listeDesEncres.dataProvider = donneesEncres;
listeDesEncres.rowCount = 10;
listeDesEncres.addEventListener(Event.CHANGE,entreeSelectionnee);
function entreeSelectionnee(evt:Event) {
var encreSelectionnee = listeDesEncres.selectedItem.value;
visuel.blendMode =encreSelectionnee;
}
Apportons quelques explications à ce script car il diffère de tous ceux que nous avons pu
voir jusqu’à présent.
Ligne 4 : nous créons un tableau intitulé encres dans lequel nous stockons l’ensemble des
encres disponibles pour la propriété blendMode.
Ligne 6 : nous créons une instance de la classe DataProvider() afin d’y stocker les
données de notre composant.
Lignes 7 à 9 : cette boucle for() permet d’ajouter une à une dans l’instance de la classe
DataProvider(), intitulée donneesEncres, toutes les propriétés contenues dans le tableau
encres.
Ligne 11 : nous remplissons l’instance du composant de type ComboBox qui se trouve sur
la scène et s’intitule listeDesEncres.
Ligne 12 : nous définissons 10 lignes visibles lorsque l’instance du ComboBox se déroule
sur la scène (figure 4-1).
Ligne 13 : nous attribuons un écouteur à l’instance listeDesEncres, afin qu’un changement d’encre s’effectue au moment de la sélection d’une commande dans le menu
déroulant.
Lignes 15 à 18 : la fonction de rappel (appelée par l’écouteur) évoquée à la ligne 13, fait
référence à la valeur associée commande sélectionnée dans le menu déroulant. Rappelons qu’elle avait été définie à la ligne 8.
Remarque
Les chapitres 8 et 10 abordent les notions de tableau et de boucle auxquelles nous faisons appel dans
ce script.
Précédent

- 105/426

Suivant