begin process at 2012 02 10 05:23:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Problème Xml et variables


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème Xml et variables

jeudi 14 mai 2009 à 16:32:26 | Problème Xml et variables

kemavin

Bonjour,
j'ai un problème avec une animation flash qui doit placer des bulles, quand je clique sur un bouton, sur une carte à partir de coordonnées se trouvant dans mon fichier xml.Voici mon code en AS2:

var drapeau=this.attachMovie("drapeau","drapeau",5);
drapeau._visible=0;
Fichier_XML = new XML();
Fichier_XML.ignoreWhite = true;
Fichier_XML.load("exposant.xml");
Fichier_XML.onLoad = function(Reussite) {
if (Reussite) {
x = Fichier_XML.firstChild;
for(i = 0; x.childNodes[0].childNodes[i] != undefined; i++) {                    
Voir_xml += "Coord_x: " + x.childNodes[0].childNodes[i].childNodes[0].firstChild + "\n";
Voir_xml += "Coord_y: " + x.childNodes[0].childNodes[i].childNodes[1].firstChild + "\n";
Voir_xml += "Titre: " + x.childNodes[0].childNodes[i].childNodes[2].firstChild + "\n";
Voir_xml += "Texte: " + x.childNodes[0].childNodes[i].childNodes[3].firstChild + "\n";
Voir_xml += "Url: " + x.childNodes[0].childNodes[i].childNodes[4].firstChild + "\n";

var drapox=x.childNodes[0].childNodes[i].childNodes[0].firstChild;
var drapoy=x.childNodes[0].childNodes[i].childNodes[1].firstChild;
trace(drapox);
trace(drapoy);
btn.onPress=function(){
drapeau._visible=1;
drapeau._x=drapox;
drapeau._y=drapoy;
texte +=x.childNodes[0].childNodes[0].childNodes[2].firstChild + "\n";
texte +=x.childNodes[0].childNodes[0].childNodes[3].firstChild + "\n";
trace (drapeau._x);
trace (drapeau._y);
}
}
}
else { Voir_xml = "Erreur lors du chargement du fichier XML"; }
};

Lorsque je fais un trace de drapox et drapoy, je récupère bien les bonnes coordonnées mais quand j'essaye de l'appliquer à ma bulle, cela me renvoi 0.
D'avance merci
vendredi 15 mai 2009 à 09:18:33 | Re : Problème Xml et variables

Girou

Membre Club
Bonjour,

via XML tu récupère des chaines de caractères (String), MovieClip._x attend un nombre (Number). Il est possible que la confusion vienne de là.

Essaye en changeant ton script comme ceci :

drapeau._x=Number(drapox);
drapeau._y=Number(drapoy);

@+

signature not found
vendredi 15 mai 2009 à 09:50:39 | Re : Problème Xml et variables

kemavin

Cela ne change rien, il me renvoi toujours 0 pour les deux!
vendredi 15 mai 2009 à 10:37:04 | Re : Problème Xml et variables

Girou

Membre Club
Salut,

en regardant le script de plus pres, je constate que a chaque itération de ta boucle (i) tu redéfinis la fonction btn.onPress
Je ne vois pas l'utilité de cela, car au final seul la dernière itération de i sera celle prise en ompte par ta fonction btn.onPress

Si tu fais

btn.onPress=function(){
trace(drapox);
trace(drapoy);

sans doute que cela va te retourner 0 et 0

@+

signature not found
vendredi 15 mai 2009 à 10:45:31 | Re : Problème Xml et variables

kemavin

Lorsque je fais le trace comme tu l'as indiqué, il me retourne les bonnes valeurs, celles présentes dans mon xml et non 0 et 0.
vendredi 15 mai 2009 à 16:38:38 | Re : Problème Xml et variables

Orange73

Membre Club
Hello,

le probleme vient de ta fonction onPress... tu fais sa a l'interieur :

texte +=x.childNodes[0].childNodes[0].childNodes[2].firstChild + "\n";

Hors, dans flash, tu perds l'iteration de ta boucle for  si tu l'integre dans la fonction onPress.

Il faut donc procéder autrement, et donc declarer des variable en dehors de ta fonction qui recupere les datas comme tu l'as fais pour drapox et drapoy.




-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
lundi 18 mai 2009 à 09:25:44 | Re : Problème Xml et variables

kemavin

Je ne comprends pas vraiment ce que tu veux dire! Je déclare bien mes variables drapox et drapoy en dehors de mon Onpress, quand je fais un trace de mes variables dans le Onpress, il me renvoi les bonnes valeurs de celles-ci mais quand je les applique à drapeau_x et drapeau_y, cela me donne 0 et 0. Que faudrait-il faire? Je met mon code AS pour te montrer:

for(i = 0; x.childNodes[0].childNodes[i] != undefined; i++) {                    
Voir_xml += "Coord_x: " + x.childNodes[0].childNodes[i].childNodes[0].firstChild + "\n";
Voir_xml += "Coord_y: " + x.childNodes[0].childNodes[i].childNodes[1].firstChild + "\n";
Voir_xml += "Titre: " + x.childNodes[0].childNodes[i].childNodes[2].firstChild + "\n";
Voir_xml += "Texte: " + x.childNodes[0].childNodes[i].childNodes[3].firstChild + "\n";
Voir_xml += "Url: " + x.childNodes[0].childNodes[i].childNodes[4].firstChild + "\n";
}
var drapox=x.childNodes[0].childNodes[0].childNodes[0].firstChild;
var drapoy=x.childNodes[0].childNodes[0].childNodes[1].firstChild;
btn.onPress=function(){
drapeau._visible=1;
drapeau._x = Number(drapox);
drapeau._y = Number(drapoy);
trace(drapox);
trace(drapoy);
trace (drapeau._x);
trace (drapeau._y);
/*texte +=x.childNodes[0].childNodes[0].childNodes[2].firstChild + "\n";
texte +=x.childNodes[0].childNodes[0].childNodes[3].firstChild + "\n";*/
}

Merci de votre aide.
mardi 19 mai 2009 à 10:39:22 | Re : Problème Xml et variables

kemavin

Personne n'a d'idées?
mardi 19 mai 2009 à 15:10:13 | Re : Problème Xml et variables

kemavin

Salut,
j'ai trouvé une solution à mon problème. Je voulais savoir autre chose à présent. Mon flash récupère bien les coordonnées de mon xml et met mes points à la bonne place! Lorsque je survol ces points, j'ai une bulle qui apparaît(elle est placée dans mon bouton). J'aimerais avoir une boucle pour récupérer toutes les informations dans mon xml et afficher pour chaque boutons le texte correspondant!Comment faut-il que je m'y prenne? Je met mon code ci-dessous:

XML:
<?xml version="1.0" encoding="UTF-8"?>  
  <listee_exposant>  
     <coordonee PosX="100" PosY="100">  
          <titre>Euroforest</titre>  
          <exposant>john Deer</exposant>  
          <url>www.google.fr</url>  
          <vignette>vignette_01.jpg</vignette>  
         </coordonee>  
      
     <coordonee PosX="200" PosY="200">  
          <titre>Euroforest</titre>  
          <exposant>AMR</exposant>  
          <url>www.google.fr</url>  
          <vignette>vignette_01.jpg</vignette>  
     </coordonee>
      
     <coordonee PosX="300" PosY="300">  
          <titre>Euroforest</titre>  
          <exposant>FMA</exposant>  
          <url>www.google.fr</url>  
          <vignette>vignette_01.jpg</vignette>  
     </coordonee>
      
     <coordonee PosX="400" PosY="400">  
          <titre>Euroforest</titre>  
          <exposant>Ponse</exposant>  
          <url>www.google.fr</url>  
          <vignette>vignette_01.jpg</vignette>  
     </coordonee>
        
</liste_exposant>  

AS:
var xml:XML = new XML();
zone = this.createEmptyMovieClip("zone", this.getNextHighestDepth())
xml.ignoreWhite = true;
xml.onLoad = function() {
     for(var i=0; i< xml.firstChild.childNodes.length; i++){
node = xml.firstChild.childNodes[i]
btn = zone.attachMovie("btn","btn-"+i,zone.getNextHighestDepth())
btn._x = node.attributes.PosX
btn._y = node.attributes.PosY
texte += xml.firstChild.childNodes[i].childNodes[i].firstChild + "\n";
texte._x = node.attributes.PosX-30
texte._y = node.attributes.PosY-57.1
}
}
xml.load("exposant.xml");
onEnterFrame = function () {
p = Math.round(100*xml.getBytesLoaded()/xml.getBytesTotal())
pct_xml.text = p+"% chargés";
if(xml.getBytesLoaded()>=xml.getBytesTotal())delete onEnterFrame ;
}



Ici ma variable "texte" est un champ texte dynamique!Quand je fais cela, je ne récupère que le texte du premier n½ud du xml!Comment faire pour tous les récupérer et qu'il s'affiche au même endroit que mes boutons!?Merci de vos réponses


Cette discussion est classée dans : fichier, xml, childnodes, firstchild, drapeau


Répondre à ce message

Sujets en rapport avec ce message

Bug Boucle While dans Fichier XML help :'( [ par ptitprince29 ] Donc voila j'ai un gros souci et je pense que je vais plus avoir de cheveux bientot lol... En fait le but de mon code est de prendre les données inscr recuperer un attribut xml via xpath as2 [ par shaloine ] bonjour, je viens vers vous car je bloque sur un point de xml , j'essai de récupérer la valeur d'un attribut via Xpath par exemple: code XMl ActionScript 2 - Variables XML [ par jonaszrenard ] Bonjour à tous, J'ai trouvé un FLA sympa qui passe des images en rotation. Les images sont listées dans un fichier XML et un texte de légende est aff _x et _y avec xml [ par naibaf71 ] bonjour à tous pour commencer ! je vai etre bref pour pas trop déranger! je souhaite positionner un clip en fonction d'un x et y défini dans un fich suivant et précédent [ par vegetalain ] salut, voilà, j'ai un fichier xml qui ressemble à ça :                     </ c'est à propos de l'utulisation de fichiers XML [ par faris68 ] Salut à tous,Je suis novice en codage ActionScript donc SVP soyez indulgent avec moi.J'expose mon problème:Je voudrais récupéré dans un fichier XML di Probleme XML et survol sous Flash AS2 [ par banboula ] Bonjour, a tous en cette belle journéeje suis nouveau sur le forum alors excusez moi si je ne poste pas ma question au bon endroit.Voila mon probleme [Flash] Images avec Xml [ par lechokapik ] 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 Problème d'AS pour une news xml [ par fartounet ] Bonsoir à tous,J'ai   un problème avec un AS, il y a deux erreurs alors que le code me parrait bon.Mais comme je ne suis pas un pro de l'AS et que je traitement fichier xml [ par bourane974 ] bonjour,Voila, j'aimerais savoir si on peut faire ce genre de manip avec un fichier xml (je m'explique).monXml.xml :


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,449 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales