function sur un movieclip dans une boucle for
Bonjour,
J'ai un script pour afficher depuis un fichier xml des icones sur une carte.
Je charge trois icones et lorsque je passe la souris sur un icone il affiche une étiquette avec un message : "je suis l'icone 1", "je suis l'icone 2" ...
Mon souci est que lorsque je passe la souris sur les icones j'ai toujours la même valeur -> la dernière chargée.
Merci de votre aide
Code:
1 2 3 4 5 6 7
|
// Le xml
<icones>
<icone id="1" typeIcone="default" posxIcone="152" posyIcone="57" titreIcone="Je suis l'icone Numero 1">Icone 1</icone>
<icone id="2" typeIcone="default" posxIcone="258" posyIcone="125" titreIcone="Je suis l'icone Numero 2">Icone 2</icone>
<icone id="3" typeIcone="warning" posxIcone="320" posyIcone="256" titreIcone="Je suis l'icone Numero 3">Icone 3</icone>
</icones> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
var charge = new XML();
charge.load("fichier.xml");
charge.ignoreWhite = true;
charge.onLoad = function(){
// Nb de noeuds
nbNoeuds = charge.childNodes[0].childNodes.length;
// affichage des icones
for(i=0; i<nbNoeuds; i++){
// Infos de chaque icone dans une variable
// idIcone = charge.childNodes[0].childNodes[i].attributes.id;
typeIcone = charge.childNodes[0].childNodes[i].attributes.typeIcone;
titreIcone = charge.childNodes[0].childNodes[i].attributes.titreIcone;
posXIcone = charge.childNodes[0].childNodes[i].attributes.posxIcone;
posYIcone = charge.childNodes[0].childNodes[i].attributes.posyIcone;
// affichage des icones
_root.attachMovie(typeIcone, "typeIcone"+i, i);
iconeAfficher = _root["typeIcone"+i];
iconeAfficher._x = posXIcone;
iconeAfficher._y = posYIcone;
// identifiant icone
_root["typeIcone"+i].i = i;
// Function sur chaque icone
// On affiche une étiquette avec le nom de l'icone au survol
_root["typeIcone"+i].onRollOver = function(){
_root.attachMovie("etiquette","etiquette"+i,1000);
etiquetteAfficher = _root["etiquette"+i];
etiquetteAfficher._x = posXIcone;
etiquetteAfficher._y = posYIcone;
etiquetteAfficher.varTitreIcone = titreIcone;
}
iconeAfficher.onRollOut = function(){
removeMovieClip(etiquetteAfficher);
}
}
} |