Nom des combos créer avec duplicateMC

chadock1 Messages postés 12 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 1 octobre 2009 - 26 nov. 2003 à 12:07
chadock1 Messages postés 12 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 1 octobre 2009 - 5 déc. 2003 à 09:41
Hello tout le monde,

Je dois créer des combo box dynamiquement, le seul moyen que j'ai pu trouvé c'est la métode duplicateMovieClip. Lorsque ces différentes combos sont créés, elles ont naturellement toutes un nom différent.

for(i=1;i<=Nbre;i++){
duplicateMovieClip(name, "E"+i,i*2);
setProperty("E"+i, _visible, true);
setProperty("E"+i, _y, i*30);
}


Le problème qui se pause maintenant est le suivant :
Lorsque je veux entrer des données dans chaqu'une des combos, je ne peux pas utiliser le nom ""E"+i"

var Combo = "E"+i;
Combo.addItem(text);


mais bien E1, E2,...

E1.addItem(text);


Vous me direz certainment de faire comme dans la 2e solution mais je suis obligé d'utiliser une variable Combo car celle-ci sera initialisée à l'exterieur de l'animation.

Voilà, j'espère que j'ai été claire sur ce problème. Si on peut me répondre assez rapidement ce serait cool. Merci d'avance!!!

Meilleures salutations / Best Regards
----------------------------------------------
;) Chadock
;)

chadock1@hotmail.com
www.accessnight.ch
-

3 réponses

theKam Messages postés 40 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 6 mars 2006
5 déc. 2003 à 01:51
[essaye this[ E i].addItem text br br quand tu fais un_movieclip[ quelque_chose essaye this[ E i].addItem text br br quand tu fais un_movieclip[ quelque_chose],
ca te permet d'accéder a la variable ou a l'objet appelé "quelque_chose" qui se trouve dans le clip un_movieclip.

Vu que this pointe sur le movieclip en cours, this["E"+i] fera l'affaire

En gros, dans ta boucle, pour optimiser un peu :

var combo =null;
for(i=1;i<=Nbre;i++){
duplicateMovieClip(name, "E"+i,i*2);
combo = this["E"+i] ;
combo._visible = true ;
combo._y = i*30 ;
combo.addItem(text);
}


Kam

Ankama Web Agency - Ankama Studio
0
theKam Messages postés 40 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 6 mars 2006
5 déc. 2003 à 01:53
Tiens, y a moyen de faire encore plus simple.
La méthode duplicateMovieClip a la particularité de retourner le clip créé.
en gros, tu peux faire :

var combo = null;
for(i=1;i<=Nbre;i++){
combo = duplicateMovieClip(name, "E"+i,i*2);
combo._visible = true ;
combo._y = i*30 ;
combo.addItem(text);
}


Enfin bon, c pas grave, le coup du this[..], ca sert toujours :))

Kam

Ankama Web Agency - Ankama Studio
0
chadock1 Messages postés 12 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 1 octobre 2009
5 déc. 2003 à 09:41
Merci the Kam,

J'ai cherché dans ta direction et puis j'ai pu remarqué que je pouvais tout simplement faire.

//Création des différentes combos
duplicateMovieClip(name,"E"+i,i*2);

//Lorsque j'appel ma fonction de chargement de combo,
//j'initialise la variable "Combo" au numéro de la combo et 
//j'effectue l'action suivante.

Combo =this["E"+Combo];
Combo.addItem(elementCombo);


Merci encore, c'est sympa

Meilleures salutations / Best Regards
----------------------------------------------
;) Chadock
;)

chadock1@hotmail.com
www.accessnight.ch
-----
0
Rejoignez-nous