cs_JackNUMBER
Messages postés233Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention26 juin 2011
-
24 juin 2011 à 01:58
aerolyte
Messages postés465Date d'inscriptionmardi 17 avril 2007StatutMembreDernière intervention 4 mai 2013
-
26 juin 2011 à 13:30
Bonsoir à tous,
ce doit être tout bête mais je n'arrive pas à trouver la solution. J'ai un fichier XML contenant des infos dont une url d'image. J'aimerai appliquer cette url à un loader mais je n'arrive pas à sortir la variable urlIllustration de la fonction affichageXML()...
private function affichageXML(pEvt:Event):void{
var enigme:XML = new XML( pEvt.target.data );// on récupère notre xml
var liste_question:XMLList = enigme.elements(); //le document XML est constitué d'une liste de questions
for each(var question:XML in liste_question){//pour chaque noeud enfants dans la liste des questions
trace(question.(@ref == 1).enonce); //on filtre par le numéro de la question
trace(question.(@ref == 1).reponse);
trace(question.(@ref == 1).image);
var urlIllustration:URLRequest new URLRequest(question.(@ref aleatoire).image);
}
}
public function Enigme(){
addChild(scene);
chargementXML.addEventListener(Event.COMPLETE, affichageXML);
chargementXML.load(fichier);
Illustration.load(urlIllustration);
Illustration.x = 380;
Illustration.y = 20;
scene.addChild(Illustration);
}
aerolyte
Messages postés465Date d'inscriptionmardi 17 avril 2007StatutMembreDernière intervention 4 mai 20131 25 juin 2011 à 16:50
Il faut un peu chercher quand meme!!!
//declaration en global:
var adresse:String;
//affectation lors du chargement du xml:
adresse="ton noeud cible dans ton objet xml";
//et lors de ton chargement tu fais directement.
l.load(new URLRequest(adresse));
aerolyte
Messages postés465Date d'inscriptionmardi 17 avril 2007StatutMembreDernière intervention 4 mai 20131 25 juin 2011 à 15:06
bonjour,dans le message précédent , j'ai répondu a ta question.
mais comme tu as compris tu as un autre pb, c'est que tu ne sais pas utiliser un objet xml.
A quoi te sert ton xmllist?
D'autant plus que tu fais un xml, puis un xmllist, pour le boucler sur des xml.
Piste de travail:
Faire ce que tu veux avec un simple objet xml et boucle dessus
Apprendre a faire un ciblage dans un objet xml
"question.(@ref == aleatoire).image" ca veut rien dire
cs_JackNUMBER
Messages postés233Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention26 juin 20115 25 juin 2011 à 23:43
Pourtant avec un test ça fonctionne ( if (maReponse == reponseXML )
avec :
function finChargementXML(e:Event):void{
var contenu = new XML(e.target.data);
reponseXML contenu.question.(@ref 1).reponse;
urlIllustration contenu.question.(@ref 1).image;
}
cs_JackNUMBER
Messages postés233Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention26 juin 20115 26 juin 2011 à 11:44
Pour le moment ref ne contient que des chiffres dans l'ordre. Il se peut que je sois amené à sélectionner la question différemment qu'aléatoirement et donc l'id (ref) prendra toute son importance.
aerolyte
Messages postés465Date d'inscriptionmardi 17 avril 2007StatutMembreDernière intervention 4 mai 20131 26 juin 2011 à 12:57
L'avantage du xml par rapport à un fichier texte, c'est la gestion des noeuds et de leur index.
Du coup, ton attribut ref n'a pas de raison d'etre car il duplique cette méthode native du xml.
en faisant:
var ref:int="l'id que tu desire";
contenu.question[ref].reponse;
tu obtiendra le meme resultat en allégeant ton xml et ton code.
Cordialement