ActionScript 3 – Programmation séquentielle et orientée objet
234
Exemple 1
Dans cet exemple, nous n’allons pas parcourir un tableau, mais un objet (que nous pourrions tout de même appeler tableau associatif ou tableau de propriétés).
Fichier de référence : foreachin1.fla
var heure:Object = {heure:"De manger",minutes:25,secondes:13};
contenant.text="";
contenu.text="";
for each (var laValeur:* in heure) {
contenant.appendText(laValeur+"\n");
}
Avant d’analyser ce script, rappelons qu’un objet possède des propriétés auxquelles on
associe des valeurs sous la forme nomPropriete:valeur et non nomPropriete=valeur. Le
nom de la propriété ne doit pas être saisi entre guillemets contrairement à sa valeur (s’il
s’agit d’un texte). Une valeur de type nombre ne doit pas être écrite entre guillemets.
Dans l’exemple ci-dessus, grâce à la boucle for each(), nous ne cherchons pas à savoir
combien de propriétés contient l’objet heure, ce que nous ferions dans le cas d’une boucle
for(). Nous utilisons la syntaxe var laValeur:* in heure. La variable laValeur va prendre
successivement les valeurs De manger, 25 et 13. Si vous êtes habitué aux boucles for()
classiques, cette technique surprend un peu, mais elle s’avère très vite incontournable
pour un tel traitement.
Exemple 2
Fichiers de référence : foreachin2.fla, main.as et Nuage.as
Dans cet exemple, nous allons démontrer qu’il est possible de lire les propriétés définies
dynamiquement pour une occurrence.
Notre premier fichier foreachin2.fla ne contient aucun script : seule la classe du document
a été précisée en bas à droite de la palette Propriétés.
Nous avons également créé un symbole dont la liaison nous a permis de définir sa classe,
comme nous l’avons présenté dans la figure 10-3. Nous l’avons intitulée Nuage.
Remarque
contenant et contenu sont des textes dynamiques qui ont été placés sur la scène.
Remarque
Consultez éventuellement le chapitre 16 dédié à la création de classes personnalisées pour comprendre
le mécanisme d’une classe rattachée à un symbole.
Précédent

- 262/426

Suivant