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

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Question XML-Flash

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question XML-Flash

n°1191394
jordel
Elven Powaaa
Posté le 03-09-2005 à 23:03:54  profilanswer
 

Bonsoir à tous,
 
J'ai une petite question à propos de la création dynamique d'éléments sous Flash...
 
Alors, je souhaiterai mettre en place une apge avec des liens vers d'autres sites Internet... via un fichier XML et Flash.
 
Mon XML se compose comme suit :
<liens>
 <site>
        <nom>site1</nom>
        <url>http://www.site1.com</url>
        <detail>Cool le site1</detail>
 </site>
 <site>
        <nom>site2</nom>
        <url>http://www.site2.com</url>
        <detail>Cool le site2</detail>
 </site>
 <site>
        <nom>site3</nom>
        <url>http://www.site3.com</url>
        <detail>Cool le site3</detail>
 </site>
 <site>
        <nom>site4</nom>
        <url>http://www.site4.com</url>
        <detail>Cool le site4</detail>
 </site>
</donnees>

 
Dans mon animation Flash, je souhaiterai afficher 3 liens par page avec la description à côté... Pour cela j'ai créé un MovieClip nommé "mctitre" comportant une zone de texte "titre" et une zone de texte nommée "detail".
 
Voici l'AS pour charger le premier noeud du fichier XML :
classe = new XML();
classe.load("fichier.xml" );
classe.ignoreWhite = true;
classe.onLoad = function(etatCharge) {
            if (etatCharge) {
                nom = classe.childNodes[0].childNodes[0].childNodes[0].childNodes[0];
  url = classe.childNodes[0].childNodes[0].childNodes[1].childNodes[0];
  description = classe.childNodes[0].childNodes[0].childNodes[2].childNodes[0];
                mctitre.titre.text=nom;
  mctitre.onPress = function() {
   getURL(url,_blank);
                }        
  detail.text = description;
           }  
};
 
 
Je souhaiterai savoir si ma méthode est correcte ET surtout... avoir de l'aide pour balayer tout mon fichier XML et créé à la volée les champs correspodants genre mctitre2 + titre2 + detail2 ... (option pour plus tard... ne mettre que 3 liens par page)... oui je suis un débutant ;-))))
 
Merci d'avance.
 
Jordel.

mood
Publicité
Posté le 03-09-2005 à 23:03:54  profilanswer
 

n°1191521
mechkurt
Posté le 04-09-2005 à 11:14:59  profilanswer
 

tout depent de comment tu veut t'organiser mais tu peut stocker toutes tes infos dans un array et les envoyer ensuite dans tes boutons suivant les sites a afficher (3 premiers, 3 suivants, etc...)
ce qui nous donne qq chose comme ca pour remplir l'array:

Code :
  1. var sites:Array = new Array();
  2. classe = new XML();
  3. classe.load("fichier.xml" );
  4. classe.ignoreWhite = true;
  5. classe.onLoad = function(etatCharge) {
  6.          if (etatCharge) {
  7.              sitenode =this.firstchild.firstchild;
  8.              while (sitenode.nodeName ==  "site" ) {
  9.                 nom = sitenode.childNodes[0];
  10.                 url = sitenode.childNodes[1];
  11.                 description = sitenode.childNodes[2];
  12.                 var site:Array = new Array(nom, url, description);
  13.                 sites.push(site);
  14.                 sitenode = sitenode.nextsibling;
  15.              }
  16.          } 
  17. };


a noter que j'ai pas verifié la structure du xml, ca doit marcher, mais si y un PB t'as qu'a faire, par exemple, trace(site).
 
je te laisse continuer un peu comme ca...
;-)


---------------
D3
n°1191592
jordel
Elven Powaaa
Posté le 04-09-2005 à 13:32:53  profilanswer
 

Merci beaucoup pour ta réponse... je vais continuer en ce sens...
 
J'espère que ma question n'a pas parut trop conne venant d'un débutant !!!
 
A+++

n°1191600
jordel
Elven Powaaa
Posté le 04-09-2005 à 14:11:02  profilanswer
 

Je viens de tester tout cela... mais j'ai un soucis...
En effet, rien ne s'affiche même dans le trace(sites) à part Undefined !!!
 
Voici mon code...

var sites:Array = new Array();  
classe = new XML();  
classe.load("fichier.xml" );  
classe.ignoreWhite = true;  
classe.onLoad = function(etatCharge) {  
         if (etatCharge) {  
             sitenode =this.firstchild.firstchild;  
             var j=0;
    while (sitenode.nodeName ==  "site" ) {  
                nom = sitenode.childNodes[0];  
                url = sitenode.childNodes[1];  
                description = sitenode.childNodes[2];          
    sites[j] = new Array(nom, url, description);  
    j = j+1;
                sitenode = sitenode.nextsibling;  
             }  
         }    
};
 
trace(sites);
trace(sites[0]);
 
for(i=0;i==sites.length;i++){  
    mctitre.titre.text=sites[i,0];
 mctitre.onPress = function() {
  getURL(sites[i,1],_blank);
 }        
 detail.text = sites[i,2];
}

n°1191606
mechkurt
Posté le 04-09-2005 à 14:16:34  profilanswer
 

essaye comme ca et donne moi le resultat de la fenetre de sortie:

Code :
  1. var sites:Array = new Array();
  2. classe = new XML();
  3. classe.load("fichier.xml" );
  4. classe.ignoreWhite = true;
  5. classe.onLoad = function(etatCharge) {
  6.          if (etatCharge) {
  7.              trace("fichier.xml = "+this);
  8.              sitenode =this.firstchild.firstchild;
  9.              while (sitenode.nodeName ==  "site" ) {
  10.                 trace("sitenode = "+sitenode);
  11.                 nom = sitenode.childNodes[0];
  12.                 url = sitenode.childNodes[1];
  13.                 description = sitenode.childNodes[2];
  14.                 var site:Array = new Array(nom, url, description);
  15.                 trace("site = "+site);
  16.                 sites.push(site);
  17.                 sitenode = sitenode.nextsibling;
  18.              }
  19.          } 
  20. };
  21. trace("sites = "+sites);


---------------
D3
n°1191738
jordel
Elven Powaaa
Posté le 04-09-2005 à 19:43:05  profilanswer
 

Voici ce que j'obtiens en sortie...
Seule la variable sitenode contient quelque chose...
 

Code :
  1. sites =
  2. fichier.xml = <liens><site><nom>site1</nom><url>http://www.site1.com</url><detail>Cool le site1</detail></site><site><nom>site2</nom><url>http://www.site2.com</url><detail>Cool le site2</detail></site><site><nom>site3</nom><url>http://www.site3.com</url><detail>Cool le site3</detail></site><site><nom>site4</nom><url>http://www.site4.com</url><detail>Cool le site4</detail></site></liens>
  3. sitenode = <site><nom>site1</nom><url>http://www.site1.com</url><detail>Cool le site1</detail></site>
  4. site =
  5. sitenode = <site><nom>site2</nom><url>http://www.site2.com</url><detail>Cool le site2</detail></site>
  6. site =
  7. sitenode = <site><nom>site3</nom><url>http://www.site3.com</url><detail>Cool le site3</detail></site>
  8. site =
  9. sitenode = <site><nom>site4</nom><url>http://www.site4.com</url><detail>Cool le site4</detail></site>
  10. site =

n°1191743
jordel
Elven Powaaa
Posté le 04-09-2005 à 19:50:23  profilanswer
 

Je viens de remarquer aussi que dans les variables extraites du xml, j'ai les résultats suivants :
nom = <nom>Site1</nom>
 
Ne serait pas cela qui cause problème lors de l'insertion dans le tableau ???

n°1191766
mechkurt
Posté le 04-09-2005 à 20:35:13  profilanswer
 

Code :
  1. var sites:Array = new Array();
  2. classe = new XML();
  3. classe.load("fichier.xml" );
  4. classe.ignoreWhite = true;
  5. classe.onLoad = function(etatCharge) {
  6.          if (etatCharge) {
  7.              trace("fichier.xml = "+this);
  8.              sitenode =this.firstchild.firstchild;
  9.              while (sitenode.nodeName ==  "site" ) {
  10.                 trace("sitenode = "+sitenode);
  11.                 sousnoeud = sitenode.firstchild;
  12.                 nom = sousnoeud.nodevalue;
  13.                 sousnoeud= sousnoeud.nextsibling;
  14.                 url = sousnoeud.nodevalue;
  15.                 sousnoeud= sousnoeud.nextsibling;
  16.                 description = sousnoeud.nodevalue;
  17.                 var site:Array = new Array(nom, url, description);
  18.                 trace("site = "+site);
  19.                 sites.push(site);
  20.                 sitenode = sitenode.nextsibling;
  21.              }
  22.          trace("sites = "+sites);
  23.          } 
  24. };


devrait fonctionner ?!
 
perso je met tous en attribue dans ce genre c'est plus facile a parser (du moins je trouve)
le XML:

Code :
  1. <lien url="http://www.google.com" nom="Google" description="Moteur de Recherche">


le code pour acceder:

Code :
  1. while (sitenode.nodeName ==  "lien" ) {
  2.    url = liennode.attributes.url ;
  3.    nom = liennode.attributes.nom;
  4.    description= liennode.attributes.description;
  5. }


---------------
D3
n°1191799
jordel
Elven Powaaa
Posté le 04-09-2005 à 20:54:45  profilanswer
 

Alors... j'ai changé mon fichier xml avec des attributs  ;)  
 
Et j'ai donc fait le smodifs avec dans le flash... mais je n'ai toujours rien dans mes tableaux site et sites !!!
 
Je ne vois pas ce qui ne fonctionne pas !!!

n°1191805
jordel
Elven Powaaa
Posté le 04-09-2005 à 20:58:00  profilanswer
 

Au cas ou...
 
Voici le code :

Code :
  1. var sites:Array = new Array();
  2. classe = new XML();
  3. classe.load("fichier.xml" );
  4. classe.ignoreWhite = true;
  5. classe.onLoad = function(etatCharge) {
  6. if (etatCharge) {
  7.  trace("fichier.xml = "+this);
  8.  sitenode =classe.firstchild.firstchild;
  9.  var i=0;
  10.  while (sitenode.nodeName == "site" ) {
  11.   nom = sitenode.attributes.nom;
  12.   url = sitenode.attributes.url;
  13.   description = sitenode.attributes.detail;
  14.   trace("nom = "+nom);
  15.   trace("url = "+url);
  16.   trace("detail = "+description);
  17.   sites = new Array(nom,url,description);
  18.   i=i+1;
  19.   trace("i = "+i);
  20.   sitenode = sitenode.nextsibling;
  21.  }
  22.  trace("sites = "+sites);
  23. };


 
Et le résultat en sortie...
[i]
fichier.xml = <liens><site nom="site1" url="http://www.site1.com" detail="Cool le site1" /><site nom="site2" url="http://www.site2.com" detail="Cool le site2" /><site nom="site3" url="http://www.site3.com" detail="Cool le site3" /></liens>
nom = site1
url = http://www.site1.com
detail = Cool le site1
i = 1
nom = site2
url = http://www.site2.com
detail = Cool le site2
i = 2
nom = site3
url = http://www.site3.com
detail = Cool le site3
i = 3
sites =  

mood
Publicité
Posté le 04-09-2005 à 20:58:00  profilanswer
 

n°1192012
mechkurt
Posté le 05-09-2005 à 08:34:20  profilanswer
 

le PB c'est que je t'ai induit en erreur avec sites (qui est un array comportant l'ensemble des liens) et site (qui est un array comportant l'ensemble des infos d'un site)
 

Code :
  1. var sites:Array = new Array();
  2. classe = new XML();
  3. classe.load("fichier.xml" );
  4. classe.ignoreWhite = true;
  5. classe.onLoad = function(etatCharge) {
  6.     if (etatCharge) {
  7.         trace("fichier.xml = "+this);
  8.         sitenode =classe.firstchild.firstchild;
  9.         var i=0;
  10.         while (sitenode.nodeName == "site" ) {
  11.             nom = sitenode.attributes.nom;
  12.             url = sitenode.attributes.url;
  13.             description = sitenode.attributes.detail;
  14.             var site:Array = new Array(nom, url, description);
  15.             trace("site = "+site);
  16.             sites.push(site);
  17.             i++;
  18.             trace("i = "+i);
  19.             sitenode = sitenode.nextsibling;
  20.         }
  21.         trace("sites = "+sites);
  22.     } 
  23. };


---------------
D3
n°1192625
jordel
Elven Powaaa
Posté le 05-09-2005 à 19:10:59  profilanswer
 

Bonjour,
 
Merci pour ton aide... J'avais bien pigé le truc en fait ;-) Je souhaitais simplement tester autre chose ;-)
 
Sinon voici le résultat obtenu avec ton dernier code :

Code :
  1. fichier.xml = <liens><site nom="site1" url="http://www.site1.com" detail="Cool le site1" /><site nom="site2" url="http://www.site2.com" detail="Cool le site2" /><site nom="site3" url="http://www.site3.com" detail="Cool le site3" /></liens>
  2. site =
  3. site =
  4. site =
  5. sites =


 
Là je commence à frapper mon c** par terre tellement je ne suis plus en phase ;-)
J'ai beau lire et relire les tutos que j'ai trouvé... je vois pas où se trouve le mystère mystèrieux !!!

n°1192693
mechkurt
Posté le 05-09-2005 à 20:14:47  profilanswer
 

t'as fait le plus dur, le truc c'est que Flash est case sensitive:
nextsibling est different de nextSibling et firstChild est different de firstchild

Code :
  1. var sites:Array = new Array();
  2. var xml:XML = new XML();
  3. xml.ignoreWhite = true;
  4. xml.onLoad = function(charge) {
  5. if (charge) {
  6.  trace("fichier.xml = "+this);
  7.  sitenode = this.firstChild.firstChild;
  8.  trace("sitenode = "+sitenode);
  9.  var i = 0;
  10.  while (sitenode.nodeName == "site" ) {
  11.   nom = sitenode.attributes.nom;
  12.   url = sitenode.attributes.url;
  13.   description = sitenode.attributes.detail;
  14.   trace("nom = "+nom);
  15.   trace("url = "+url);
  16.   trace("detail = "+description);
  17.   sites[i] = new Array(nom, url, description);
  18.   i = i+1;
  19.   trace("i = "+i);
  20.   sitenode = sitenode.nextSibling;
  21.  }
  22.  trace("sites = "+sites);
  23. }
  24. };
  25. xml.load("fichier.xml" );


c'est con mais c'est comme ca, j'ai testé et ca marche (du moins chez moi)
j'avais rien vu faire parcque je t'aidais de memoire, mais des que j'ai copié/collé dans Flash, l'absence de coloration syntaxique m'a mis la puce a l'oreille.


---------------
D3
n°1192712
jordel
Elven Powaaa
Posté le 05-09-2005 à 20:24:15  profilanswer
 

Bon je me déclare "quiche de niveau 1" ;-)
 
Je teste et je te dis quoi !!!
 
Merci pour ton talent mon ami !!!

n°1192729
jordel
Elven Powaaa
Posté le 05-09-2005 à 20:35:58  profilanswer
 

J'soi etre vraiment mauvais....
 

Code :
  1. var sites:Array = new Array();
  2. var xml:XML = new XML();
  3. xml.ignoreWhite = true;
  4. xml.onLoad = function(charge) {
  5. if (charge) {
  6.  trace("fichier.xml = "+this);
  7.  sitenode = this.firstChild.firstChild;
  8.  var i = 0;
  9.  trace("sitenode = "+sitenode);
  10.  while (sitenode.nodeName == "site" ) {
  11.   nom = sitenode.attributes.nom;
  12.   url = sitenode.attributes.url;
  13.   description = sitenode.attributes.detail;
  14.   trace("nom = "+nom);
  15.             trace("url = "+url);
  16.             trace("detail = "+description);
  17.   sites[i] = new Array(nom, url, description);
  18.             i = i+1;
  19.   vartitre1 = nom;
  20.   trace("site = "+site);
  21.   sitenode = sitenode.nextSibling;
  22.  }
  23.  trace("sites = "+sites);
  24. };
  25. xml.load("fichier.xml" );


 
Ce code ne me donne rien... meme pas la fenetre avec les "trace" !!!

n°1192982
mechkurt
Posté le 06-09-2005 à 08:36:09  profilanswer
 

fichier.xml enregistré avec le notepad en UTF-8:
 

Code :
  1. <liens>
  2. <site nom="site1" url="http://www.site1.com" detail="Cool le site1" />
  3. <site nom="site2" url="http://www.site2.com" detail="Cool le site2" />
  4. <site nom="site3" url="http://www.site3.com" detail="Cool le site3" />
  5. </liens>


 
chez moi ca marche...


---------------
D3
n°1193018
jordel
Elven Powaaa
Posté le 06-09-2005 à 09:38:50  profilanswer
 

Oui c'est ce que j'avais déjà fait...
 
Par contre j'ai modifié la ligne : var xml:XML = new XML(); en var xml = new XML(); et là, il me renseigne bien les "trace"...
 
Par contre toujours rien au niveau de la variable sites !!!!!
 

Code :
  1. var sites:Array = new Array();
  2. var xml = new XML();
  3. xml.ignoreWhite = true;
  4. xml.onLoad = function(charge) {
  5. if (charge) {
  6.  trace("fichier.xml = "+this);
  7.  sitenode = this.firstChild.firstChild;
  8.  var i = 0;
  9.  trace("sitenode = "+sitenode);
  10.  while (sitenode.nodeName == "site" ) {
  11.   nom = sitenode.attributes.nom;
  12.   url = sitenode.attributes.url;
  13.   description = sitenode.attributes.detail;
  14.   trace("nom = "+nom);
  15.             trace("url = "+url);
  16.             trace("detail = "+description);
  17.   sites = new Array(nom, url, description);
  18.             i = i+1;
  19.   sitenode = sitenode.nextSibling;
  20.  }
  21.  trace("sites = "+sites);
  22. };
  23. xml.load("fichier.xml" );


 
Résultat :
[i]fichier.xml = <liens><site nom="site1" url="http://www.site1.com" detail="Cool le site1" /><site nom="site2" url="http://www.site2.com" detail="Cool le site2" /><site nom="site3" url="http://www.site3.com" detail="Cool le site3" /></liens>
sitenode = <site nom="site1" url="http://www.site1.com" detail="Cool le site1" />
nom = site1
url = http://www.site1.com
detail = Cool le site1
nom = site2
url = http://www.site2.com
detail = Cool le site2
nom = site3
url = http://www.site3.com
detail = Cool le site3
sites =  
 
Sniffff

n°1193071
mechkurt
Posté le 06-09-2005 à 11:02:09  profilanswer
 

heu...
est ce que par hasard dans la fenetre propriete de ton clip (clique n'imporrte ou en dehors de la scene) tu as:
 
Taille:[xxx X xxx pixels] Arrière-plan [couleur] Cadence [xx] ips
Publier:[parametre] Lecteur: 7 Actionscript:2 Profil: Paramètres Flash MX
 
parcque la, on dirait qu'il aime pas trops les declarations de variable propre a l'AS2
 
donc d'apres ce raisonnement soit tu fait comme je dit en AS2, sois tu remplace sites:Array et site:Array comme tu l'a fait pour le xml


---------------
D3
n°1193176
jordel
Elven Powaaa
Posté le 06-09-2005 à 14:02:58  profilanswer
 

A ce niveau là, j'ai :
Taille : 800x600 Arriere-plan : noir Cadence 12 i/s
Publier Flash player 6
 
Et c'est tout !!!

n°1193239
mechkurt
Posté le 06-09-2005 à 15:04:37  profilanswer
 

c'est bien ce que je dit, t'as Flash MX (ou alors tu as ouvert un tuto Flash MX avec Flash Mx 2004) donc tes parametres sont Flash Player 6 et Actionscript 1.
Dans cette version il panne rien au declaration de variable de type:

Code :
  1. var mavariable:typedemavariable = affectation ou declaration d'objet;


deux solutions:
-> tu as Flash MX 2004: tu clique sur paramètre (en face de publier) et tu choisis Flash Player 7 et actionscript 2
-> tu n'as pas Flash MX 2004: tu declare tes variable sans les deux point et le type de variable


---------------
D3
n°1196084
jordel
Elven Powaaa
Posté le 09-09-2005 à 16:00:44  profilanswer
 

Hello...
 
J'ai viré les :typedemavariable aux tableaux et au XML et ça passe now ;-)
 
Merci !!!

n°1219383
Boboash
Posté le 10-10-2005 à 11:57:04  profilanswer
 

Voila mon code :
 
date_txt ="";
titre_txt ="";
texte_txt ="";
image_txt ="";
 
var dates:Array = new Array();  
var textes:Array = new Array();
var titres:Array = new Array();
var images:Array = new Array();
doc_xml = new XML();
doc_xml.ignoreWhite = true;
doc_xml.onLoad = function()
{  
 noeud = doc_xml.firstChild.childNodes[0];    
 var tabDate:Array = new Array(noeud.childNodes[0]);  
 var tabTitre:Array = new Array(noeud.childNodes[1]);  
 var tabTexte:Array = new Array(noeud.childNodes[2]);  
 var tabImage:Array = new Array(noeud.childNodes[3]);
 
 dates.push(tabDate);  
 titres.push(tabTitre);
 textes.push(tabTexte);
 images.push(tabImage);  
}
trace(titres);
doc_xml.load("historiqueXML.xml" );
 
Mon problème est que j'arrive bien à avoir ce que contient "noeud.childNodes[0]" (j'ai vérifier),mai ensuite je me retrouve sans aucune valeur ds mes tableau??? Pouvez vous m'aidez je galère grave. Sinon quand je récupère les valeurs des noeuds dans la fonction et que je les affiches sur mon site sa marche mais dès que je quitte la fonction j'ai un problème , plus rien !!!  
 
Je travaille avec FLASH 8
 
PLEASE HELP ME


Message édité par Boboash le 10-10-2005 à 11:58:11
n°1219510
mechkurt
Posté le 10-10-2005 à 13:59:30  profilanswer
 

peut pas t'aider comme ca, mets des trace() un peu partout:

Code :
  1. trace(noeud.childNodes[0]);
  2. trace(tabDate);
  3. trace(dates);


et donne nous ce que tu as en sortie...
 
suivant t'as facon de ranger les infos dans ton xml tu as peut etre besoin de rajouter .nodeValue ou .attributes.trucmuche après ton childNodes[0]


---------------
D3
n°1219573
Boboash
Posté le 10-10-2005 à 14:31:47  profilanswer
 

alor cest vrai que je me suis un peu mal exprimer , j'ai mis des trace partt mai j'en est enlever pour vous montrer mon code.
 
mes trace qui marche :
trace(noeud.childNodes[0]);  
trace(tabDate);  
 
Celle qui marche pas et qui m'enerve lol:
trace(dates);  
 
Alor j'ai l'impression que des que je sort de la fonction mes valeur sont perdu bizarre???
 
sinon voila mon fichier XML :
 
<?xml version="1.0" encoding="UTF-8" standalone= "yes" ?>
<photoHistorique>
   <photo id="1">
     <date>Samedi 31 janvier 2003</date>
     <titre>Sounkai !!!</titre>
     <texte>Le groupe soundkai... </texte>
     <image>images/historique/sounkai.jpg</image>
  </photo>
  etc.........................
 
Et je veu pas mettre tous en attributs comme vous le faite???  
 
merci d'une réponse


Message édité par Boboash le 10-10-2005 à 14:33:13
n°1219754
mechkurt
Posté le 10-10-2005 à 17:21:51  profilanswer
 

ques-ce que t'apelle marcher?
quand tu trace(noeud.childNodes[0]) il te donne ca: <date>Samedi 31 janvier 2003</date>
si oui ce que tu veut mettre dans tabDate c'est noeud.childNodes[0].nodeValue  me trompe-je ?
 
sinon essaye de remplacer push par une variable photo que t'incremente a chaque fois que tu change de noeud (ou tu te sert de l'id du noeud photo en cours)
genre dates[photo] = tabDate;


---------------
D3
n°1219766
Boboash
Posté le 10-10-2005 à 17:35:38  profilanswer
 

oui t'as bien compris, j'ai bien le résultat que tu dis
Je cour essayer !!
 
Malheuresement sa ne marche pas voila mes modif :
 
var tabDate:Array = new Array(noeud.childNodes[0].nodeValue);
trace (tabDate);
dates[photo]= tabDate;
 
et en dehors de la fonction
 
trace(dates);
 
Maintenant, je n'ai plus rien dans tabDate et toujours rien dans "dates".  
 
Mais si je met trce(dates) dans ma version et à l'intérieur de la fonction, il me renvoie ce qu'il faut, c'est vraiment chelou je comprend pa, il fau que je sorte les valeurs de la fonction !!!
 
En tout cas merci de vos réponses


Message édité par Boboash le 10-10-2005 à 18:51:31
n°1219870
Boboash
Posté le 10-10-2005 à 19:47:34  profilanswer
 

D'apré toutes les sources que je voi, aucun ne sort les donnée de la fonction, si j les sort pas je voi pas bien comment les exploiter pour que a l'appui sur un bouton les textes et images change......

n°1220285
mechkurt
Posté le 11-10-2005 à 11:44:09  profilanswer
 

forcement tu trace(titre) avant de charger ton fichier xml, alors bien sur l'interpreteur lit le code de haut en bas mais il ne peut pas deviner ce que contient le fichier xml...
 
rajoute une condition charge comme dans l'exemple que je donne à jordel et une fois le chargement finis (apres la boucle dans le xml) envoi le timeline sur une autre frame...
 
la et la seulement tu pourras pester si tes arrays sont vide
 
petit truc pour tester tes variables, fonction, etc...:

Code :
  1. for (i in _root) {
  2.    trace("  "+i+" -> "+_root[i]);
  3. }



---------------
D3
n°1220301
Boboash
Posté le 11-10-2005 à 12:13:14  profilanswer
 

Justement, j'ai lu pas mal de choses qui disai de faire comme ca. Mais j'halucine t'as raison du coup la sa marche, comment sa me stress le code !!!!!!!!!!
 
Et pendant que j'y suis lol, si il y en a d'autre qui font comme moi ,quand je fait noeud.childNodes[0].nodeValue il me retourne null, mais si je fais noeud.childNodes[0].childNodes il me renvoi ce qu'il y a à l'intérieur de <image>Yes I</image> (ex : "Yes I" ) sa c'est cool !!! me demander pas pourqoi je serai pas lol
 
Merci a toi MechKurt, c'est grace a toi que ma gallerie photo marche !!!
 
BIG BIG UP pour MechKurt


Message édité par Boboash le 11-10-2005 à 12:35:13
n°1220311
mechkurt
Posté le 11-10-2005 à 12:39:29  profilanswer
 

pour le nodeValue laisse tomber c'est pas tres important:
http://livedocs.macromedia.com/fla [...] 01904.html
 
pour tes variables soit disant vide en dehors de la fonction je suspecte qu'au moment ou tu les testes elle sont vide, car tu les testes avant qu'elle ai été initialisé!
 
donc tu prend le code qui est ici:
http://forum.hardware.fr/hardwaref [...] m#t1192693
tu le met a ta sauce dans la frame1 (et tu rajoute un _root.stop(); )
 
en dessous du trace("sites = "+sites); (qui serat devenu trace("tabDate= "+tabDate);) tu rajoute _root.nextFrame();
 
et dans la frame suivante tu mets ca:

Code :
  1. for (i in _root) {
  2.     trace("  "+i+" -> "+_root[i]);
  3. }


 
si ca ne marche toujours pas tu pose ton .fla en ligne et je regarde quand j'ai une minute


Message édité par mechkurt le 11-10-2005 à 16:13:41

---------------
D3
n°1220332
Boboash
Posté le 11-10-2005 à 13:16:26  profilanswer
 

si c'est bon sa marche merci a toi

mood
Publicité
Posté le   profilanswer
 


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

  Question XML-Flash

 

Sujets relatifs
[Flash/ActionScript] Supprimer les lignes crées avec ASQuestion index FullText
Prop. flash pour fonction javascript TGetProperty() et TSetProperty()Fonction mail() :petite question
[php] question toute simple sur le retour de 'date("d")'Soundshake recrute des développeurs Flash bénévoles sur Paris
question sur la compilation[Flash] newbie vs Events de List
Interface avec frames à partir de données XML[XML et AS] Problème liée à onLoad...
Plus de sujets relatifs à : Question XML-Flash


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