Flash 8 et Eval()... aie aie !

Brendarth Messages postés 15 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 25 novembre 2005 - 17 oct. 2005 à 13:15
slagt Messages postés 232 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 29 mars 2011 - 17 oct. 2005 à 19:55
Bonjour à tous,



J'ai un bout de code utilisant un "eval()" qui
marchait très bien pour mon utilisation personnelle lorsque je publiais
le .swf en "Flash 6 - Actionscript 2".



J'ai du passer mon code en Flash 8, et là c'est le drame, ça ne marche plus. Voilà le code en question :



<!--c1-->

<!--ec1-->for (p=0; p<20; p++){
temp = eval("barre"+p);
temp._y = ((p-1)*62)+10;
if (zone[p] != undefined){
temp._y = temp._y + zone[p];
}
}<!--c2-->

<!--ec2-->

En
gros ce petit bout de code regarde le nom de mes clip "barre" que j'ai
dupliqué sur la scène pour leur attribuer leur coordonné Y.



Voyant que mon code ne marchait plus, j'ai essayer de remplacer mon eval par les codes suivant :



temp = this["barre"+p];

set(temp, "barre"+p);

temp = "barre"+p;



Aucun ne semble marcher une fois publié en Flash 8... Quelqu'un saurait-il me donner un petit coup de pouce ?

Merci

2 réponses

John_Doe_88 Messages postés 606 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 13 décembre 2006
17 oct. 2005 à 19:13
this["barre"+p]; >> c correct

c peut etre le = qui pose pb. Essaie sans utiliser le temp :



for (p=0; p<20; p++){

this["barre"+p]._y = ((p-1)*62)+10;

if (zone[p] != undefined){

this["barre"+p]._y = this["barre"+p]._y + zone[p];

}

}
0
slagt Messages postés 232 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 29 mars 2011
17 oct. 2005 à 19:55
Ca dépend où tu te trouve... le this signifie : en partant de l'endroit où tu te trouve actuellement.



Donc si tu le met dans un "bouton.onRelease", alors le "this"
signifiera : "bouton". Si le "this" est placé sur la première frame de
la scène, il signifiera : "_root" (dans le cas où le SWF n'est pas
importer par un autre).



Donc, il faudra peut-être te servir de "this._parent" plutot que
"this". Enfin, on ne connais pas l'architecture de ton programme donc
on peu pas vraiment t'aider.



Le "temp = this["barre"+p]" ne pose strictement aucun problème ! Personnellement je m'en sers tout le temps :)


^^
0
Rejoignez-nous