Probleme boucle For getURL capricieuse

Probleme boucle For getURL capricieuse - Flash/ActionScript - Programmation

Marsh Posté le 07-02-2008 à 14:49:34    

Aidez moi je devient fou... j'ai une variable qui disparait... :pfff:
Je creer une animation qui doit recuperer des infos d'un fichier XML, la variable "_root["numburl"+i]"  contient des entiers et je dois les caler dans une URL pour obtenir un lien
Seulement, des que j'essaye le lien, j'obtiens une ceci dans mon navigateur "vitrine//" avec la variable "_root["numburl"+i]" manquante, elle aurait du être concaténé, puisque je la retrouve dans mon Trace...

 
Code :
  1. for (i=1; i<=8; i++) {
  2.   _root["numburl"+i] = Racine.childNodes[i-1].attributes.numburl;
  3.   _root["Clip_conteneur"+i].titrevignette = Racine.childNodes[i-1].attributes.legende+" "+_root["numburl"+i];
  4.   _root["Clip_conteneur"+i].portepub["adresseurl"+i] = Racine.childNodes[i-1].attributes.adresseurl;
  5.   _global.lolnumber = String("vitrine/"+_root["numburl"+i]+"/" );
  6.   ////Ajout du lien sur mes ptites vitrines =)
  7.   _root["Clip_conteneur"+i].onRelease = function() {
  8.    getURL(_global.lolnumber);
  9.   };
  10.   trace(_global.lolnumber); // J'obtiens dans mon trace exactement le resultat désiré pour mes 8 variables :(
  11.   //Chargement de la miniature
  12.   var cadre:MovieClip = _root["Clip_conteneur"+i].portepub.createEmptyMovieClip("cadre", 1);
  13.   var clipLoader:MovieClipLoader = new MovieClipLoader();
  14.   clipLoader.loadClip(Racine.childNodes[i-1].attributes.mini, _root["Clip_conteneur"+i].portepub.cadre);
  15.  }
 

merci


Message édité par le_parrain le 07-02-2008 à 14:50:53
Reply

Marsh Posté le 07-02-2008 à 14:49:34   

Reply

Marsh Posté le 07-02-2008 à 16:17:24    

[:undertaker666]


---------------
Mon FeedBack | Mon topic de vente
Reply

Marsh Posté le 07-02-2008 à 19:22:00    

- tu écrases _global.lolnumber à chaque itération de ta boucle, donc tout tes GetURL() pointes vers la même valeur, qui est la dernière crachée par ta boucle.
- cette dernière valeur est vide, probablement à cause de ton expression for(...) qui est mal ficelée.

Reply

Marsh Posté le 07-02-2008 à 19:29:26    

Merci beaucoup pour la remarque sur _global.lolnumber je crois que je vais pouvoir résoudre le probleme maintenant =) !!
 
Euh par contre que veux tu dire par for() mal ficelée ? :)

Reply

Marsh Posté le 07-02-2008 à 19:40:30    

Code :
  1. var i:Number = Racine.childNodes.length;
  2. while(i--) {
  3. ...
  4. }


 
Simple, efficace, rapide, classieux.


Message édité par antika le 07-02-2008 à 19:46:49
Reply

Marsh Posté le 07-02-2008 à 19:45:23    

Ah ouai... c'est autrechose vu comme ça

Reply

Marsh Posté le 07-02-2008 à 19:47:47    

Certes.
 
La boucle for, c'est le mal : illisible, lent, source d'erreurs de bornes sur i, et te rend toujours un i != 0. La boucle while est la plus adaptée à la lecture de données séquentielles.


Message édité par antika le 07-02-2008 à 19:57:58
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed