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

  FORUM HardWare.fr
  Graphisme
  Web design

  [flashMX/XML] menu déroulant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[flashMX/XML] menu déroulant

n°462920
CalamityJa​ne
Posté le 06-05-2004 à 10:00:24  profilanswer
 

Bonjour à tous,
J'ai fait un menu en flash récupérant des données dans un fichier xml, avec un parser .as, le prob c'est que le lien ne se fait pas, quand je clique sur un élément du menu rien ne se passe!!! quelqu'un as-t'il déjà eu le même problème?  
Merci d'avance.

mood
Publicité
Posté le 06-05-2004 à 10:00:24  profilanswer
 

n°462926
Banane mas​quee
Yé vé té fer la pô...
Posté le 06-05-2004 à 10:09:02  profilanswer
 

Tu veux qu'il se passe quoi qd tu cliques sur un élément du menu? Que le fichier xml soit mis à jour?
 
NB: Si tu montres ton code, ce sera plus facile pour t'aider...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°462931
CalamityJa​ne
Posté le 06-05-2004 à 10:17:25  profilanswer
 

Le prob c'est que quand je clique sur un bouton de mon menu le lien ne fonctionne pas, je veux que ça me renvoie sur une autre page.
ex fichier xml :  
<contenu>  
 <mnu titre="PRODUITS">  
  <mnu titre="Allumage" link="allumage.php">  
  </mnu>  
  <mnu titre="Eclairage" link="eclairage.php">  
  </mnu>  
 </mnu>  
</contenu>  
 
fichier parser :  
if (Number(substring(_level0.$version,5,1))>5)  
{  
System.useCodePage = true;  
}  
 
xml_doc=new XML();  
xml_doc.ignoreWhite=true;  
xml_doc.onLoad=traiteXML;  
xml_doc.load(_root.xml_link);  
 
function traiteXML()  
{  
xmlData=traiteXmlNodes(xml_doc.firstChild);  
mnu0.item0.mnuBuilder(xmlData);  
}  
 
function traiteXmlNodes(node)  
{  
 var xmlData=new Array();  
 var xmlTemp=new Array();  
 for(var k=(node.firstChild.nodeType==3)?1:0, i=0; k<node.childNodes.length; i++, k++)  
  {  
  var child=node.childNodes[k];  
  xmlData[i]=child.attributes;  
  if (child.hasChildNodes() && child.childNodes.length>1)  
   {  
   xmlTemp=traiteXmlNodes(child);  
   if (child.firstChild.nodeType==3)  
    {  
    xmlData[i].corps=child.firstChild.nodeValue;  
    }  
   for(var j=0; j<xmlTemp.length; j++)  
    {  
    xmlData[i][j]=xmlTemp[j];  
    }  
   xmlData[i].long=j;  
   }else{  
    xmlData[i].corps=child.firstChild.nodeValue;}  
  }  
 xmlData.long=i;  
 return xmlData;  
}  
 
si tu pouvais m'aider ça serait cool pke ça fait un moment que je galère là dessus.  
Merci d'avance!  

n°462934
jio
to shoot or not to shoot...
Posté le 06-05-2004 à 10:26:33  profilanswer
 

tu pourrais commenter ton code ? :D  
 
pke je pourrais ptêtre t'aider mais je connais pas la syntaxe xml ...


---------------
[flickr] - [Diaporama] - tilt
n°462935
Banane mas​quee
Yé vé té fer la pô...
Posté le 06-05-2004 à 10:27:01  profilanswer
 

C'est toi qui l'as fait ce code?


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°462937
Banane mas​quee
Yé vé té fer la pô...
Posté le 06-05-2004 à 10:34:13  profilanswer
 

il manque le code de la fonction mnuBuilder()


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°462938
CalamityJa​ne
Posté le 06-05-2004 à 10:35:39  profilanswer
 

Jio a écrit :

tu pourrais commenter ton code ? :D  
 
pke je pourrais ptêtre t'aider mais je connais pas la syntaxe xml ...


dslée mais c que du xml.. je vais essayer quand même.
alors dab je fais l'arborescence de mon menu dans mon fichier xml, le "link" sert à préciser la page qui est associée au titre.
<contenu>  
<mnu titre="PRODUITS">  
 <mnu titre="Allumage" link="allumage.php">  
 </mnu>  
 <mnu titre="Eclairage" link="eclairage.php">  
 </mnu>  
</mnu>  
</contenu>  
Ensuite avec le fichier parser, je crée un objet xml qui va contenir les données de mon fichier xml et construire mon menu dans flash, en fait c'est mon lien entre mon fichier xml et flash.

n°462940
CalamityJa​ne
Posté le 06-05-2004 à 10:36:50  profilanswer
 

Banane masquee a écrit :

C'est toi qui l'as fait ce code?


Non je l'ai pris d'un bouquin (trop nul d'ailleurs-->micro appli flash mx)

n°462942
Banane mas​quee
Yé vé té fer la pô...
Posté le 06-05-2004 à 10:46:56  profilanswer
 

Code :
  1. <contenu>
  2. <mnu titre="PRODUITS">
  3.   <mnu titre="Allumage" link="allumage.php">
  4.   </mnu>
  5.   <mnu titre="Eclairage" link="eclairage.php">
  6.   </mnu>
  7. </mnu>
  8. </contenu>


 

Code :
  1. /* Test pour l'utilisation d'unicode selon la version -> on s'en fout */
  2. if (Number(substring(_level0.$version,5,1))>5)
  3. {
  4. System.useCodePage = true;
  5. }
  6. /* Création d'un objet XML */
  7. xml_doc=new XML();
  8. /* Pour avaler les espaces du fichier XML */
  9. xml_doc.ignoreWhite=true;
  10. /* Fonction à effectuer une fois le fichier XML chargé (on ne peut rien faire avant) */
  11. xml_doc.onLoad=traiteXML;
  12. /* Chargement du fichier XML????? -> bizarre comme URL ça "_root.xml_link" */
  13. xml_doc.load(_root.xml_link);
  14. function traiteXML()
  15. {
  16. xmlData=traiteXmlNodes(xml_doc.firstChild);
  17. mnu0.item0.mnuBuilder(xmlData);
  18. }
  19. function traiteXmlNodes(node)
  20. {
  21. var xmlData=new Array();
  22. var xmlTemp=new Array();
  23. /* firstChild: 1º sous-noeud de node ;nodeType==3 -> noeud texte ; nodeType==1 -> noeud balise; childNodes: tableau des sous-noeuds de node */
  24. for(var k=(node.firstChild.nodeType==3)?1:0, i=0; k<node.childNodes.length; i++, k++)
  25.   {
  26. /* child est le sous-noeud d'indice 1 ou 0 selon qu'on ait un noeud texte ou un noeud balise -> dans notre cas, noeud balise donc 0 */
  27.   var child=node.childNodes[k];
  28. /* xmlData est un tableau dont les éléments sont des tableaux contenant les attributs de noeuds balises (ici, les attributs peuvent être les valeurs de "titre" et "link" */
  29.   xmlData[i]=child.attributes;
  30.   if (child.hasChildNodes() && child.childNodes.length>1)
  31.    {
  32.    xmlTemp=traiteXmlNodes(child);
  33.    if (child.firstChild.nodeType==3)
  34.     {
  35.     xmlData[i].corps=child.firstChild.nodeValue;
  36.     }
  37.    for(var j=0; j<xmlTemp.length; j++)
  38.     {
  39.     xmlData[i][j]=xmlTemp[j];
  40.     }
  41.    xmlData[i].long=j;
  42.    }else{
  43.     xmlData[i].corps=child.firstChild.nodeValue;}
  44.   }
  45. xmlData.long=i;
  46. return xmlData;
  47. }


Message édité par Banane masquee le 06-05-2004 à 11:13:31

---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°462943
CalamityJa​ne
Posté le 06-05-2004 à 10:55:07  profilanswer
 

/* Fonction à effectuer une fois le fichier XML chargé (on ne peut rien faire avant) -> manquerait pas des parenthèses avec un paramètre?*/  C PO
xml_doc.onLoad=traiteXML;  
/* Chargement du fichier XML????? -> bizarre comme URL ça "_root.xml_link" */ c clair mais ça marche puisque j'ai mon menu qui est bien construit suivant mon fichier xml
xml_doc.load(_root.xml_link);  
 
pour mnuBuilder c'est une fonction propre à xml pas besoin de la créer.

mood
Publicité
Posté le 06-05-2004 à 10:55:07  profilanswer
 

n°462945
Banane mas​quee
Yé vé té fer la pô...
Posté le 06-05-2004 à 11:00:37  profilanswer
 

mnuBuilder() est appelé dans le code flash et c'est n'est pas une fonction propre à flash donc elle doit être codé quelquepart...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°462947
Banane mas​quee
Yé vé té fer la pô...
Posté le 06-05-2004 à 11:02:30  profilanswer
 

CalamityJane a écrit :

/* Fonction à effectuer une fois le fichier XML chargé (on ne peut rien faire avant) -> manquerait pas des parenthèses avec un paramètre?*/  C PO
xml_doc.onLoad=traiteXML;  


Ça m'étonnerait bcp que ça marche sans mettre ton XML en paramètre...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°462948
CalamityJa​ne
Posté le 06-05-2004 à 11:03:37  profilanswer
 

oups yep t'as raison dans action script...

n°462949
CalamityJa​ne
Posté le 06-05-2004 à 11:05:58  profilanswer
 

et si ça marche puisque mon menu s'affiche correctement suivant l'arborescence de mon fichier xml...  

n°462953
Banane mas​quee
Yé vé té fer la pô...
Posté le 06-05-2004 à 11:08:19  profilanswer
 

CalamityJane a écrit :

oups yep t'as raison dans action script...


gné? :heink:


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°462955
Banane mas​quee
Yé vé té fer la pô...
Posté le 06-05-2004 à 11:09:35  profilanswer
 

CalamityJane a écrit :

et si ça marche puisque mon menu s'affiche correctement suivant l'arborescence de mon fichier xml...


Autant pour moi, j'avais mal vu, y'a pas besoin de paramètre ni de parenthèse...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°462956
Banane mas​quee
Yé vé té fer la pô...
Posté le 06-05-2004 à 11:11:26  profilanswer
 

A mon avis, c'est pas dans ce code qu'on va trouver l'erreur mais plutôt dans celui du mnuBuilder...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°462968
Banane mas​quee
Yé vé té fer la pô...
Posté le 06-05-2004 à 11:29:38  profilanswer
 

Tu le trouves pas ce mnuBuilder?


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
n°462984
CalamityJa​ne
Posté le 06-05-2004 à 11:58:56  profilanswer
 

faudra que je vérifie avec mon code action script mais je l'ai pas ici.

n°462985
CalamityJa​ne
Posté le 06-05-2004 à 12:00:35  profilanswer
 

je vérifierai le code pour ma fonction mnuBuilder() ce soir et te tiens au courant, merci bien ;-)

n°462986
Banane mas​quee
Yé vé té fer la pô...
Posté le 06-05-2004 à 12:09:38  profilanswer
 

ok pas d'problème...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Graphisme
  Web design

  [flashMX/XML] menu déroulant

 

Sujets relatifs
[Flash] Comment c'est-y qu'ça marche avec le XML?XML frameset
[FlashMX] Problème de Bouton[FlashMX] Probleme dans le resize d un site en Flash
pb de positionnement de menu sous dreamweaver[FlashMx/XML] menu avec fichier xml
[FlashMx] Menu avec fichier xml 
Plus de sujets relatifs à : [flashMX/XML] menu déroulant


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