desaleux
Messages postés10Date d'inscriptionsamedi 25 novembre 2006StatutMembreDernière intervention 9 mars 2009
-
6 mars 2009 à 18:36
cs_bali_balo
Messages postés1378Date d'inscriptionsamedi 9 octobre 2004StatutMembreDerniè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!
cs_bali_balo
Messages postés1378Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 1 novembre 20101 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();
}
cs_bali_balo
Messages postés1378Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 1 novembre 20101 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....=]
cs_bali_balo
Messages postés1378Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 1 novembre 20101 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" );
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
desaleux
Messages postés10Date d'inscriptionsamedi 25 novembre 2006StatutMembreDerniè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?
cs_bali_balo
Messages postés1378Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 1 novembre 20101 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...
desaleux
Messages postés10Date d'inscriptionsamedi 25 novembre 2006StatutMembreDerniè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...
cs_bali_balo
Messages postés1378Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 1 novembre 20101 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".