Forums Développement Multimédia

Aller au contenu

Appeller les infos d'un fichier XML à partir d'AS3

PAO Flash

  • Vous ne pouvez pas répondre à ce sujet
Aucune réponse à ce sujet

#1 sector666

    Ceinture Jaune

  • Members
  • PipPip
  • 16 messages

Posté 25 August 2009 - 14:01 PM

Bonjour,

je réalise un travail pour l'école et je suis bloqué au point suivant.

J'ai une carte d'europe sur laquelle j'ai des clip qui sont les différents pays. Ils ont tous une occurence (BE pour Belgique, FR pour France etc.)

Lorsque je passe avec la souris sur un pays, je dois afficher une fiche reprenant les informations sur le pays à partir d'un fichier XML.

Dans flash j'ai du créer un clip fiche et l'exporter pour ActionScript en le nommant Fiche
Dans le fichier fiche.as je ne sais plus trop quoi placer à part que je sais que je dois utiliser "addChild" pour afficher la fiche quand la souris est en survol et "removeChilAt" pour la faire disparaitre quand la souris n'est plus en survol

Voici par quoi se termine mon fichier Carte.as qui fait en sorte de savoir l'ID du pays sur lequel on est placé avec la souris afin de pouvoir faire appel à la bonne fiche suivant l'ID qui est récupéré dans le fichier XML.


package
{
        import flash.display.*;
        import flash.events.*;
        import flash.net.*;
       
        public class Carte extends MovieClip
        {
                function Carte()  // Constructeur : chargement du fichier xml.
                {
                                                       
                var url:URLRequest = new URLRequest ("xml/previsions.xml"); //on défini le chemin du fichier xml
                       
                        var chargeur:URLLoader = new URLLoader (url); // on donne la variable contenant le chamin au chargeur
                chargeur.addEventListener(Event.COMPLETE, completeListener); // Et enfin on dirige le chargeur vers la fonction "completeListener"
                }
       
                private function completeListener(e:Event)
                {
                var previsions:XML = new XML(e.target.data)   //previsions car c est le noeud racine du fichier XML
                        //de type xml qui reçoit l'objet XML avce les données qui se trouvent ()
                       
                        var listePays:XMLList = previsions.pays;        // Noeud dans une liste XML - va recevoir le noeud pays
                        var nbpays = listePays.length(); // nbres de pays
         
                        for (var i = 0; i<nbpays; i++)
                        {
                                var id:String = listePays[i].attribute("id"); // ID du pays du noeud pays
                                var p:MovieClip = this[id]; // On créé un movieclip qui va recevoir l'ID
                                p.buttonMode=true; // on défini le clip comme bouton
                                p.addEventListener(MouseEvent.CLICK,onClick); // On place une action au clic de la souris sur le clip
                        }
                }
               
                function onClick(evt:MouseEvent)  // Ne pas oublier ce qui est entre () qui correspond à l'eventListener qui renvoi à cette fonction
                {
                        trace("ok");
               
                }
               
        }
}
 


Et voici comment se présente le fichier XML (exemple pour un pays)

<previsions>
        <pays id="BE" nom="Belgique">
                <nom/>
                <croissance>
                        <taux annee="2007" valeur="2.8"/>
                        <taux annee="2009" valeur="-1.9"/>
                </croissance>
                <dettePublique>
                        <taux annee="2007" valeur="83.9"/>
                        <taux annee="2009" valeur="91.2"/>
                </dettePublique>
                <deficit>
                        <taux annee="2007" valeur="-0.3"/>
                        <taux annee="2009" valeur="-3"/>
                </deficit>
                <chomage>
                        <taux annee="2007" valeur="8"/>
                </chomage>
                <inflation>
                        <taux annee="2007" valeur="1.1"/>
                </inflation>
                <clip>belgique_mc</clip>
        </pays>
</previsions>
 

Donc voila je dois reprendre ces infos et les faire apparaître dans mon clip fiche...

Merci pour votre aide j'ai essayé d'être le plus clair possible.



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)