Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1029 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  [Flash] Images avec Xml

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Flash] Images avec Xml

n°1542928
Chokapuck
Posté le 14-04-2007 à 20:14:35  profilanswer
 

Bonjour, j'ai un problème. J'aimerais afficher des images les unes à cotées des autres avec du Xml, pour cela j'ai mon fichier xml composé comme ceci :

Code :
  1. <?xml version='1.0' encoding="UTF-8" ?>
  2. <main>
  3. <images>
  4. <web image="bob.jpg" />
  5. <web image="paque.jpg" />
  6. </images>     
  7. </main>


 
Et alors, un code action script comme cela :  

Code :
  1. Fichier_xml = new XML();
  2. Fichier_xml.ignoreWhite = true;
  3. Fichier_xml.load("fichier.xml" );
  4. Fichier_xml.onLoad = function(success)
  5. {
  6.         if (success)
  7.         {
  8.                 x = Fichier_xml.firstChild;
  9.                 i=0;
  10.                 while(x.childNodes[0].childNodes[i] != undefined)
  11.                 {
  12.                         imgUrl = x.childNodes[0].childNodes[i].attributes.image;
  13.                         btn = "image_mc_"+i;
  14.                         this.createEmptyMovieClip(btn, i);
  15.                         btn.loadMovie(imgUrl);
  16.                         btn._x += 250;
  17.                         i++;
  18.                 }
  19.         }
  20.         else
  21.         {
  22.                 texte = "Erreur";
  23.         }
  24. }


 
Le problème c'est que ce code n'affiche rien pourtant le fichier XML est bien chargé (Plusieurs tests)
Pouvez vous m'aider ?
 
 
 
Merci d'avance :).

mood
Publicité
Posté le 14-04-2007 à 20:14:35  profilanswer
 

n°1542999
craps_youp​la
Posté le 15-04-2007 à 12:05:54  profilanswer
 

le scope du callback onLoad est celui de l'objet appelant, soit Fichier_xml.
 
applique un Delegate pour forcer le scope sur _level0.
 
soit :
 

Code :
  1. import mx.utils.Delegate;
  2. ...
  3. Fichier_xml.onLoad = Delegate.create( this , onXMLLoad );


 
avec onXMLLoad ton callback actuel, déclaré cette fois comme fonction proprement (sur un calque à part, par exemple).
 
les constructions du type :  

Code :
  1. xml.onLoad = function():Void {};
  2. bt.onRelease = function():Void {};


 
sont à proscrire. Ca s'appelle une "déclaration de fonction inline", c'est de l'AS1, et ça bousille le scope. Ces constructions se trouvent dans 95% des tutos que tu trouveras sur le Web, elles se sont généralisées parce qu'elles figurent dans l'aide de Flash sur beaucoup d'exemples. Dans la vraie vie, c'est une technique utilisée à titre exceptionnel pour accélèrer l'écriture du code (genre, pour écrire un exemple sur une page d'aide), mais c'est pas comme ça qu'on fait : on fait des classes, et/ou des Delegate.


Message édité par craps_youpla le 15-04-2007 à 12:10:44

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  [Flash] Images avec Xml

 

Sujets relatifs
Charger des images avant l'animation Flash en phpRécupérer des variables de mySql pour flash
upload d'images qi ne fonctionne pasproblème XML vs JS vs IE
Probleme Flash avec IEles cadre qui entourent les swf.flash
[Résolu] XML socket: Aucune connexion:(Probleme decallage des images sous firefox
Lire des articles d'1 serveur sur 1 autre serveur?MSSQL& XML, PHP,.NET 
Plus de sujets relatifs à : [Flash] Images avec Xml


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR