Création d'occurrence de clip par une boucle --> aS3

Résolu
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 - 23 sept. 2009 à 10:08
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 - 23 sept. 2009 à 13:26
Bonjour,
voilà, je cherche un moyen d'appeler les occurrences de clips dans une boucle.
L'idée est de créer un menu qui dépend d'un XML dont je ne sais pas le nombre d'élément.
J'ai essayé :
for(var i : int=0 ; i<liste.length ; i++){
var boutSm[i] : BoutSousMenu = new BoutSousMenu();
trace(boutSm[i]);
}
Et d'autre trucs... mais rien ne fonctionne.
Le problème tient au "nommage" des boutons, et je ne sais pas comment m'y prendre (j'ai aussi essayé "boutSm"+i mais ça n'a pas plus de résultats). Je ne vois pas par quel bout prendre le problème. Si quelqu'un a une idée. Merci d'avance.


Tout vient à qui sait attendre

3 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 sept. 2009 à 13:01
Bonjour,

Une autre solution est de placer tes "BoutSousMenu" dans un tableau à l'aide d'un push et de les appeller l'un après l'autre sans devoir faire "getChildByName" à chaque fois.
C'est plus propre, plus pratique et techniquement plus rapide question instruction, car tu ne fais pas appel à la liste d'affichage d'un DisplayObjectContainer.

Peg'
3
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
23 sept. 2009 à 10:33
Bonjour,
j'ai trouvé une piste ici grâce à pegase31 :
for(var i : int=0 ; i<liste.length ; i++){
var boutSm : BoutSousMenu = new BoutSousMenu();
boutSm.name="boutSm"+i;
trace(boutSm.name);
}
Je reviendrais vers vous si j'ai des difficulté. Désolé pour le dérangement


Tout vient à qui sait attendre
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
23 sept. 2009 à 13:26
Merci, tu as raison, c'est plus propre, et puis j'aime pas trop utiliser le "getChildByName".
Donc pour ceux que cela intéresse, cela donne :

for(var i : int=0 ; i<liste.length ; i++){
var boutSm : BoutSousMenu = new BoutSousMenu();
conteneur.push(boutSm);
porteur.addChild(conteneur[i]);
conteneur[i].leTitre.text = liste[i].nom;
conteneur[i].leTitre.mouseEnabled = false;
conteneur[i].buttonMode=true;
conteneur[i].id = i;
conteneur[i].y = i*20;
}
Encore merci... que serions-nous sans toi !

Tout vient à qui sait attendre
0
Rejoignez-nous