Bonjour,
Je suis débutant en AS3 et je souhaiterai faire une carte de france avec des boutons pour chaque département. Le survol d'un bouton va permettre d'afficher des informations lues à partir d'un fichiers XML.
Voilà c'est que j'ai pu faire sauf que pour n'importe quel bouton que je survol, il affiche l'information du dernier noeud du xml.
J'espère avoir plus de précision.
Merci d'avance
Voici mon script
import flash.events.*;
import flash.net.*;
import flash.geom.*;
import flash.utils.*;
import flash.display.*;
import flash.text.*;
import flash.external.*;
// Calculer la longueur de l'arbre XML
function calculeLaLongueur(liste:XMLList):uint {
var compteur:uint = 0;
for each (var elt:XML in liste) {
compteur++;
}
return compteur;
}
// Charger le fichier Ressources.xml
var chargeurXML:URLLoader = new URLLoader();
chargeurXML.dataFormat = URLLoaderDataFormat.TEXT;
chargeurXML.addEventListener(Event.COMPLETE, gestionXML);
chargeurXML.load(new URLRequest("listeDiags.xml"));
//fonction gerant le xml
function gestionXML(e:Event):void {
try {
var nbDiagnostiqueurs:uint = 0;
var donneesLues:XML = new XML(e.target.data);
var listeDiagnostiqueur:XMLList = new XMLList();
listeDiagnostiqueur = donneesLues.elements();
nbDiagnostiqueurs = calculeLaLongueur(listeDiagnostiqueur);
for(var j:uint = 1; j<=5; j++){
//Style des titres
var styleTitre:TextFormat = new TextFormat();
styleTitre.font = "verdana";
styleTitre.size = 12;
styleTitre.bold = false;
styleTitre.color = 0xff0000
styleTitre.align = TextFormatAlign.LEFT;
//Zone de texte titre
var titre:TextField = new TextField();
titre.x = 20;
titre.width = 500;
titre.defaultTextFormat = styleTitre;
titre.htmlText = "Site : " + donneesLues.diagnostiqueur[j].@*.toXMLString();
var conteneur:Sprite = new Sprite();
var btn:Object = this["bt_"+j];
//Ajout d'évenement de survole par la souris
btn.addEventListener(MouseEvent.MOUSE_OVER, onSurvole);
//fonction de survole
function onSurvole(event:MouseEvent):void{
//evt.currentTarget.btn;
conteneur.addChild(titre);
addChild(conteneur);
} //Fin fonction onSurvole
//Ajout d'évenement de non survole
btn.addEventListener(MouseEvent.MOUSE_OUT, nonSurvole);
//fonction de survole
function nonSurvole(event:MouseEvent):void{
conteneur.removeChild(titre);
removeChild(conteneur);
} //Fin fonction nonSurvole
} //Fin for
} //Fin try
catch (e:TypeError) {
trace("Impossible de charger le XML");
trace(e.message);
} //Fin catch
} //Fin de la fonction gerant le xml