XML et Flash

Résolu
samylatortue Messages postés 42 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 6 mars 2009 - 29 nov. 2005 à 18:18
samylatortue Messages postés 42 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 6 mars 2009 - 30 nov. 2005 à 18:31
Salut,

Je suis entrain d'essayer de faire un menu flash /XML cependant flash
s'arrete de lire mon XML quand les donnée du XML ne sont pas monobalise
avec un "/" à la fin.

Je n'ai pourtant pas oublier le ignoreWhigt = true, voici le code que j'utilise pour charger mon XML.



XMLmenu = new XML();

XMLmenu.ignoreWhite = true;

XMLmenu.onLoad = function(ok){

if(ok){

trace("Charger");

afficherMenu();

return;

}

trace("Pas charger");

}

XMLmenu.load("test.xml");



si qqun peut m'éclairer un peu la c'est pas de refus et si vous penssez
qu'il vous faut plus de code je vous en copierais plus...

merci d'avance :)

++

6 réponses

samylatortue Messages postés 42 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 6 mars 2009
30 nov. 2005 à 18:31
J'ai tester ta solution SoyYo et ca n'a pas marcher ...... j'ai refait des recherche sur le web et j'ai trouver un piti truc

System.useCodepage = true;
activer l'unicode :D et effectivement mon code tel qu'il étais a fonctionner sauf les sous menu lollll mais bon chuis sur la bonne voie :)

merci bcp de ton aide en tt cas
3
cs_SoyYo Messages postés 210 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 27 novembre 2009
29 nov. 2005 à 20:54
Bah c'est vrai que un peut plus de code et ton XML type serait pas de refus parceque la tu donnes pas beaucoup d'indices!!
0
samylatortue Messages postés 42 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 6 mars 2009
29 nov. 2005 à 21:16
ok voila un bout de mon XML, je crois qu'il est clean:



<?xml version="1.0" encoding="iso-8859-1"?>

<menu>

<titre nom="Introduction" load="intro.swf"/>

<titre nom="Titre a soustitre" >

<sous_titre nom="ST_1" load="ST_1.swf"/>

<sous_titre nom="ST_2" load="ST_2.swf"/>

<sous_titre nom="ST_3" load="ST_3.swf"/>

<sous_titre nom="ST_4" load="ST_4.swf"/>

</titre>

<titre nom="Conclution" load="concl.swf"/>

</menu>
0
cs_SoyYo Messages postés 210 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 27 novembre 2009
30 nov. 2005 à 13:59
Ok et tu peux mettre aussi ta fonction afficherMenu() parceque pour l'instant je vois rien de mal dasn ton code ni dans ton XML.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
samylatortue Messages postés 42 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 6 mars 2009
30 nov. 2005 à 14:33
bon je vais mettre tout les détail :D
je colle tout le code commenter, pour information le "trace(XMLmenu);" indique en sortie:

<?xml version= "1.0" encoding="iso-8859-1"?><menu><titre nom="Introduction" load="intro.swf" /><titre nom="Titre a soustitre" /></menu>

donc on s'apercois que le XML est mal lu...
sinon le menu pour l'instant ce n'est pas cliquable j'en suis pas la :) je veux jsute afficher le contenu du XML correctement dans des champs texte.
et le tout se charge bien :D ...

XMLmenu = new XML();
XMLmenu.ignoreWhite = true;
XMLmenu.onLoad = function(ok){
if(ok){
trace("Chrager");
afficherMenu();
trace(XMLmenu);
return;
}
trace("Pas Charger");
}
XMLmenu.load("test.xml");
afficherMenu = function(){
lemenu = XMLmenu.firstChild;
// tant qu'il y a des titre de menu on continu
for(i=0; i<lemenu.childNodes.length; i++){
// position de la ou on est la maintenant dans le menu
var pos = lemenu.childNodes[i];
// le nom du titre
var nom = pos.attributes.nom;
// le swf a charger s'il y en a
var toload = pos.attributes.load;
// s'il n'y a pas de swf a charger cela signifie qu'il y a des sous menus
// partie de code non vérifier car XML mal lu
if (toload= =undefined) {
for(j=0; j<lemenu.childNodes[j].childNodes.length; j++){
var pos2 = lemenu.childNodes[j].childNodes;
var nom2 = pos.attributes.nom;
var toload2 = pos.attributes.load;
sous_menu_mc.duplicateMovieClip("sous_menu_mc"+j,j*1);
this["sous_menu_mc"+j].sous_titre = nom2;
this["sous_menu_mc"+j]._y = this["sous_menu_mc"+(j-1)]._y+25;
this["sous_menu_mc"+j]._x = this["sous_menu_mc"+(j-1)]._x+25;
}
} else {
// on duplique un mc et on ecris dans un champ txt dynamique et ca fonctionne
menu_mc.duplicateMovieClip("menu_mc"+i,i*1);
this["menu_mc"+i].titre = nom;
this["menu_mc"+i]._y = this["menu_mc"+(i-1)]._y+50;
}
}
}

voilou j'ai tout détaillé j'espère que l'on va pouvoir trouver mon erreur :D
merci encore ;)
0
cs_SoyYo Messages postés 210 Date d'inscription jeudi 11 août 2005 Statut Membre Dernière intervention 27 novembre 2009
30 nov. 2005 à 15:06
Je vois le probleme car j'ai eu le meme en fait, et je pense que c'est
un probleme du parser XML de flash. Car en fait il accepte pas qu'il y
ai des elements dans une balise si celle-ci possede des attribus et
inversement. DOnc du coup tuot ce que je peux te dire c'est de modifier
ton XML en fonction de comment va l'aimer flash (moi c'est ce que j'ai
du faire!!).



Du genre:



<?xml version="1.0" encoding="iso-8859-1"?>

<menu>

<elt>

<titre nom="Introduction" load="intro.swf"/>

</elt>

<elt>

<titre nom="Titre a soustitre" />

<sous_titre nom="ST_1" load="ST_1.swf"/>

<sous_titre nom="ST_2" load="ST_2.swf"/>

<sous_titre nom="ST_3" load="ST_3.swf"/>

<sous_titre nom="ST_4" load="ST_4.swf"/>

</elt>

<elt>

<titre nom="Conclution" load="concl.swf"/>

</elt>

</menu>

et apres il faut adapter ton code mais je ne pense pas que ca soit trop long.
0
Rejoignez-nous