Bouton chargeant du xml

Résolu
desaleux Messages postés 10 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 9 mars 2009 - 6 mars 2009 à 18:36
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 - 9 mars 2009 à 17:06
hello,

j'suis perdu...
je voulais passer un code permettant de charger un fichier xml en cliquant sur un bouton, d'une occurence bouton à une occurence movieClip...sauf que ca marche pas!
le code sur le bouton:
on (press) {
var charge = new XML();
charge.load("archi.xml");
charge.ignoreWhite = true;
charge.onLoad = function() {
    i=-1;
    max = charge.firstChild.childNodes.length;
     }   
}
rien de bien méchant...et bien si jamais je l'applique à un movieclip appelé mc_btn avec
mc-btn.onPress = function() {...}
et le meme code: ca ne marche pas!! le xml ne se charge pas...c'est le précédent en place qui reste valable...

si quelqu'un avait la bonté de me montrer de son doigt salvateur là où je me trompe...
merci bien d'avance!

david

9 réponses

cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
9 mars 2009 à 15:38
Désolé pour tout ces posts, FFox a planté
Si tu ne comprends pas je le referais plus proprement ^^

bali_balo....=]
3
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
9 mars 2009 à 15:10
Salut,
voici une solution :

//EN SUPPOSANT QUE TU SOIS DANS LE _ROOT

var xmlLoader             = new XML();
xmlLoader.ignoreWhite     = true;
xmlLoader.onLoad         = function( succes :Boolean ) :Void {
    if ( succes ) {
        i    = -1;
        //    les 2 lignes de codes suivantes sont les même (ici this fait référence à l'objet xmlLoader)
        max = this.firstChild.childNodes.length;
        ///max = xmlLoader.firstChild.childNodes.length; 
    }
    else {
        trace( "erreur chargement XML" );
    }
}

function chargerXML() :Void {
    //    toujours appeler la fonction load() après la définition de la fonction événementielle onLoad()
    charge.load( "archi.xml" );   
}

//code de ton bouton (qu'il soit de type Button ou MovieClip)
monBouton.onPress = function () :Void {
    chargerXML();
}

bali_balo....=]
0
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
9 mars 2009 à 15:37
Ou bien simplement

//EN SUPPOSANT QUE TU SOIS DANS LE _ROOT

var xmlLoader             = new XML();
xmlLoader.ignoreWhite     = true;
xmlLoader.onLoad         = function( succes :Boolean ) :Void {
    if ( succes ) {
        i    = -1;
        //    les 2 lignes de codes suivantes sont les même (ici this fait référence à l'objet xmlLoader)
        max = this.firstChild.childNodes.length;
        ///max = xmlLoader.firstChild.childNodes.length;
    }
    else {
        trace( "erreur chargement XML" );
    }
}

//code de ton bouton (qu'il soit de type Button ou MovieClip)
monBouton.onPress = function () :Void {
    // j'ai oublié de changer le nom là ^^
    xmlLoader.load( "archi.xml" );  
}
bali_balo....=]
0
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
9 mars 2009 à 15:37
Ou bien simplement

//EN SUPPOSANT QUE TU SOIS DANS LE _ROOT

var xmlLoader             = new XML();
xmlLoader.ignoreWhite     = true;
xmlLoader.onLoad         = function( succes :Boolean ) :Void {
    if ( succes ) {
        i    = -1;
        //    les 2 lignes de codes suivantes sont les même (ici this fait référence à l'objet xmlLoader)
        max = this.firstChild.childNodes.length;
        ///max = xmlLoader.firstChild.childNodes.length;
    }
    else {
        trace( "erreur chargement XML" );
    }
}

//code de ton bouton (qu'il soit de type Button ou MovieClip)
monBouton.onPress = function () :Void {
    // j'ai oublié de changer le nom là ^^
    xmlLoader.load( "archi.xml" );   
}
0

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

Posez votre question
desaleux Messages postés 10 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 9 mars 2009
9 mars 2009 à 16:41
merci bali balo!
je vais rentrer tout ca dans mon code, je te fais confiance, ca va marcher!
(merci de m'avoir remis sur la _root !)
juste, si t'es encore par là:
ce qui faisait que ton code marche et pas le mien, c'est le fait de faire appel à une fonction?

ciao
0
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
9 mars 2009 à 16:48
Comme je sais pas exactement où et comment tu as placé ton code, j'ai préféré te donner une code propre.
Donc je ne peux pas te dire d'où venait ton bug.
Si mon code ne marche pas je te donnerai mon email perso pour que je règle ça rapidoss...

bali_balo....=]
0
desaleux Messages postés 10 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 9 mars 2009
9 mars 2009 à 16:54
ah oui, j'ai essayé, et en fait ca fonctionne dans ta premiere version de code... mais pas la deuxieme...
en tout cas, merci!
0
desaleux Messages postés 10 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 9 mars 2009
9 mars 2009 à 16:58
ah, les joies du direct... on devait ecrire en meme temps...
mon code était placé sur le bouton, maintenant tout est dans _root
et je crains que mon bug ne vienne simplement du fait de faire, défaire refaire un code, à un moment flash ne réagit plus...
je viens de tout recommencer avec, le meme code, et ca marche...
0
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
9 mars 2009 à 17:06
Je me doutais que tu avais mis ton code dans le bouton genre :
on(press) {
...
}

Il est préférable pour ce genre de "petit" code de tout mettre dans le _root. Le must serait de faire tout en classe comme en AS3 via la classe associée au "Document".

Content de t'avoir aider.

bali_balo....=]
0
Rejoignez-nous