Fonction

Résolu
Signaler
Messages postés
576
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
12 mai 2009
-
Messages postés
576
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
12 mai 2009
-
Salut :)
Je fait passer à flash pa la page plusieurs variables
nombre -> le nb d'inscrit sur mon site
nom -> un array avec tt les nom des inscrits
coordx ->array des coordonée x sur la carte des inscripts
coordy ->array des coordonées y sur la carte des inscrits

j'ai un clip nomé rond, qui est un pti rond
je voudrais que sur la carte il y est un point pour chaque inscrit, et que lors dans clique sur un point sa me donne le numero de l'inscrit.

donc je fait :
 
for(i=1;i<=nombre;i++) {
nom="rond"+i;
duplicateMovieClip(_root.rond,nom,_root.getNextHighDepth());
_root[nom].onPress=function() {
trace("je suis l'inscrit numero i");
}
}

Le probleme, c'est que je ne sais pas comment récuperer le i dans la fonction, vu qu'il change plus tard.
En fait, il me faudrais un truc du genre le preprocesseur en C avec DEFINE.

comme sa je pourrais faire :

for(i=1;i<=nombre;i++) {
nom="rond"+i;
duplicateMovieClip(_root.rond,nom,_root.getNextHightDepth());
_root[nom].onPress=function() {
DEFINE nombre=i;
trace("je suis l'inscrit "+nombre);
}
}

->le define se changerais a la compilation en nombre=valeur_de_i

voila, si vous savez comment faire saz, ou si vous trouvez une autre solution, je suis prenneur,
merci !

@+

2 réponses

Messages postés
576
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
12 mai 2009

OUPSS !!! j'avais oublié le this
je ne savais pas que dans une fonction, declaré dans la flame du level0, que le this pointait vers l'object de la fonction et non la ou il a été declaré, donc voici mon code,n avec _root.pointeur un tetx dynamique :

nombre=4;
coordx=new Array(60,250,120,440);
coordy=new Array(225,200,350,260);
joueur=new Array("stefbuet","mouic","nico","un chinois");
xp=new Array("4520","2500","0","80000000");


for(i=1;i<=nombre;i++) {
nom="rond"+i;
duplicateMovieClip(_root.rond,nom,_root.getNextHighestDepth());
_root[nom].informations=new Object();
_root[nom].informations.joueur=joueur[i-1];
_root[nom].informations.xp=xp[i-1];
_root[nom]._x=coordx[i-1];
_root[nom]._y=coordy[i-1];


_root[nom].onRollOver=function() {
_root.curseur.text="joueur : "+this.informations.joueur+"\nXP : "+this.informations.xp;
}
_root[nom].onRollOut=function() {
_root.curseur.text="";
}


}
onEnterFrame=function() {
 _root.curseur._x=_xmouse+15;
 _root.curseur._y=_ymouse-10;
}

salut a tous :)

@+
Messages postés
576
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
12 mai 2009

a et aussi j'ai oublié, dans le for ya :
_root[nom]._x=coordx[i];
_root[nom]._y=coordy[i];

@+