Voila après pas mal de jours(mois/années) passés à bosser mon Action script, j'ai encore parfois des problèmes avec le ciblage des clips.
Du coup j'ai fait quelque tests, pour me rendre compte du fonctionnement exact de la chose.
Et j'ai l'impression d'avoir trouvé des incohérences dans Flash. Ou alors j'ai des lacunes dans un domaine qui devrait être évident.
J'explique : dans un boulot que je suis en train de faire, je charge un Xml et génere 1 clip+1 champ texte par entrée. Le but est que quand je clic dessus, le XML se recharge et regénére les clips avec en théorie les même noms et caractéristiques.
Quand je le fais, au moment de refresh il me recrée des clips par dessus sans enlever lees anciens.
Bref, je pare le probléme en faisant un removeMovieClip avant et c'est bon. Mais du coup j'ai voulu faire un test ...
Voici un code tout bête :
Code :
- var pif : MovieClip = this.createEmptyMovieClip ("pif" , this.getNextHighestDepth ());
- var txt : TextField = pif.createTextField ("txt", 1 , 0, 0, 100, 100);
- txt.text = "hop";
- var pif : MovieClip = this.createEmptyMovieClip ("pif" , this.getNextHighestDepth ());
- var txt : TextField = pif.createTextField ("txt", 1 , 0, 0, 100, 100);
- txt.text = "broum";
- trace(txt.text)
- trace(pif.txt.text)
|
Avec ma logique à moi, je me dis que le pif va remplacer le pif. Le fait qu'il soit à 1 depth supérieur ne change rien.
en fait si ! Il m'affiche donc 2 textefield entre meler avec hop et boum.
Du coup je regarde dans le debugueur et je vois un clip pic.txt avec comme valeur .text = "hop" et sur le root, une variable/objet txt qui contient toutes les propriètés d'un champ texte dont .text = "boum" ! Mais mes 2 traces me sortent "boum". Donc mon "hop" est perdu dans l'espace est inacessible ?
C'est ça que je comprend pas.
Je sais que dans l'aide il est marqué qu'un clip remplace un autre lorsqu'il a la même valeur de profondeur et nom pas le même nom. Mais du coup ça rend le ciblage par nom d'occurence complétement hazardeux !
Et si c'est vrai, pk il ne me crée pas 2 clips avec le même nom mais qui ne ce génent pas puisqu'ils ont un depth différent
Si jamais vous avez une idée, ça serait cool d'en parler ...
Message édité par Zedlefou le 14-04-2007 à 15:56:18
---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks