Load incomplet au 1er chargement de la page avec fichier XML

Load incomplet au 1er chargement de la page avec fichier XML - Flash/ActionScript - Programmation

Marsh Posté le 26-03-2009 à 11:22:13    

Bonjour @ toutezéatous,
 
J'ai une animation flash qui lit un XML. C'est une carte de France avec ses régions. Tout se passe bien lorsque je suis en local. En revanche, une fois mon animation publiée sur une page web, à la 1ere lecture, elle se charge (je vois le preload et la carte de France), mais ne lit pas le fichier XML. Pour que ça se fasse, il faut que je rafraichisse ma page et là, tout fonctionne correctement.
 
Ce qui me fait penser que mon animation ne lit pas le XML la 1ere fois (mais peut-être à tord...), c'est que suite à la lecture du XML j'affecte des couleurs différentes à mes clips (chaque région est un clip bouton) et la 1ere fois, tous mes clips sont de la même couleur. Après actualisation de la page, c'est ok, chaque clip prend la couleur qui lui est associé dans le XML.
 
En ce qui concerne mon animation, voici la structure de mon code :
 
Dans ma 1ere image, j'ai un preload classique :

Citation :


stop();
var total = _root.getBytesTotal();
_root.onEnterFrame = function(){
if(_root.getBytesLoaded()==total){
       _root.onEnterFrame = undefined;
       play();
     }
}


 
Celui-ci, je le vois bien, même au 1er chargement.
 
Dans ma 2ème image, j'ai la lecture de mon XML :

Citation :


var liste_bien_XML = "media/liste.xml";
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load(liste_bien_XML);
myXML.onLoad = function(success) {
   if (success) {
        i = 0;
       regionXML = myXML.firstChild;
       while (regionXML.childNodes[i] != undefined) {
 
                  mon traitement
 
                  i++;
        }
    }
}


 
Dans ma 3ème image, j'ai le traitement qui permet d'affecter des couleurs différentes à mes clips en fonction des informations lues dans le XML.
 
Dans ma 4ème image, je suis en stop() et j'attends le click de l'internaute qui doit se retrouver sur une belle animation avec des couleurs différentes ;o)
 
J'ai pensé que j'avais peut-être mal écrit quelque chose, mais en regardant les autres posts de cet excellent forum  qui traitent de la lecture d'un XML dans flash je ne vois pas où j'ai pu faire l'erreur... Peut-être qu'un oeil plus averti que le mien saurait identifier quelque chose qui m'a échappé...
 
J'ai aussi pensé que ça pouvait venir de la façon dont j'appelais mon animation, mais je la charge avec un simple swobject... J'ai aussi essayé avec un plugin jquery mais j'obtiens malheureusement le même résultat.
 
J'ai essayé de "ruser", en mettant une 2eme instance de mon animation dans ma page avec une taille de 1x1 car si je laisse cette 2eme instance en taille normale, je vois bien 1 qui est complète (avec plusieurs couleurs) et une qui ne l'est pas (tous les clips ont la même couleur).
 
ça fait plusieurs jours que je m'arrache les cheveux sur ce problème, alors si quelqu'un avait une idée de ce que je pourrais faire soit pour "forcer le chargement" de mon anim dans ma page, soit pour corriger une éventuelle erreur de mon ActionScript ça me permettrait de garder quelques cheveux avant d'atteindre la calvitie complète ;o)))
 
Merci @ toutezéatous et excellent journée !!

Reply

Marsh Posté le 26-03-2009 à 11:22:13   

Reply

Marsh Posté le 27-03-2009 à 06:00:55    

T'as pas oublié un stop sur l'image 2 ?
 
Et seulement quand le XML a fini de charger tu passes a l'image 3.
 
De toute evidence le probleme vient de la. Tu lances ton anim alors que le xml n'est pas encore chargé ...


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 27-03-2009 à 11:55:41    

Tu sais quoi ??? T'es TROP FORT !!!!
 
Dommage que je ne puisse pas te faire une grosse bizz ;o)
 
Je ne sais pas si vous qui répondez et nous aidez à dépatouiller nos problèmes, vous vous rendez compte à quel point vous nous aidez. J'ai du mal à trouver les mots qui vont bien, mais franchement c'est HYPER GENIAL que vous soyez là !!
 
Encore un grand MERCI !!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed