begin process at 2012 05 26 12:20:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Barre de chargement problème sour I.E. pas sous fireFox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Barre de chargement problème sour I.E. pas sous fireFox

mardi 17 avril 2007 à 10:46:53 | Barre de chargement problème sour I.E. pas sous fireFox

embalmer

Bonjour,

Voilà je vous explique mon problème, j'ai crée une animation débutant par une barre de chargement. En plus de ce qui se trouve à la racine, je charge des images externes (5 en tout), je les stocke dans un objet BitmapData pour les réutiliser ensuite de manière aléatoire dans l'animation. Mon gros problème est que ma barre de chargement fonctionne sous Firefox mais sous I.E. Le pourcentage de chargement m'affiche NaN (et pour débuguer, merci bien.).

Voici mon code à l'image1 (peut être pas très clair pour tous, désolé ) :

stop();
for (j=1; j<=5; j++) { 
    _level0["imgBytesLoaded"+j] = 0;
    _level0["poidsTemp"+j] = 0;
}
var imgTotalBytes:Number = 0;
var imgTotalCurrentLoad:Number = 0;
var totalImgOk = false;
var testStart = 0;
var testInit = 0;
// Chargement des images et attribution aux clips concernés
import flash.display.BitmapData;
//Création des clips temporaires recevants les images
_level0.createEmptyMovieClip("tempMC1", 1, {_alpha:0});
_level0.createEmptyMovieClip("tempMC2", 2, {_alpha:0});
_level0.createEmptyMovieClip("tempMC3", 3, {_alpha:0});
_level0.createEmptyMovieClip("tempMC4", 4, {_alpha:0});
_level0.createEmptyMovieClip("tempMC5", 5, {_alpha:0});
// Création des loaders d'images et des écouteurs associés
var theLoader1:MovieClipLoader = new MovieClipLoader();
var theListener1:Object = new Object();
var theLoader2:MovieClipLoader = new MovieClipLoader();
var theListener2:Object = new Object();
var theLoader3:MovieClipLoader = new MovieClipLoader();
var theListener3:Object = new Object();
var theLoader4:MovieClipLoader = new MovieClipLoader();
var theListener4:Object = new Object();
var theLoader5:MovieClipLoader = new MovieClipLoader();
var theListener5:Object = new Object();
theLoader1.addListener(theListener1);
theLoader2.addListener(theListener2);
theLoader3.addListener(theListener3);
theLoader4.addListener(theListener4);
theLoader5.addListener(theListener5);
theListener1.onLoadInit = function(mc1:MovieClip) {
    bitmapPic1 = new BitmapData(_level0.tempMC1._width, _level0.tempMC1._height, true, 0xffffff);
    bitmapPic1.draw(mc1);
    _level0.tempMC1.removeMovieClip();
    trace("suppression du clip Temp1");
    _level0.testInit++;
};
theListener2.onLoadInit = function(mc2:MovieClip) {
    bitmapPic2 = new BitmapData(_level0.tempMC2._width, _level0.tempMC2._height, true, 0xffffff);
    bitmapPic2.draw(mc2);
    _level0.tempMC2.removeMovieClip();
    _level0.fond.attachBitmap(bitmapPic2, 1);
    trace("suppression du clip Temp2");
    _level0.testInit++;
};
theListener3.onLoadInit = function(mc3:MovieClip) {
    bitmapPic3 = new BitmapData(_level0.tempMC3._width, _level0.tempMC3._height, true, 0xffffff);
    bitmapPic3.draw(mc3);
    _level0.tempMC3.removeMovieClip();
    trace("suppression du clip Temp3");
    _level0.testInit++;
};
theListener4.onLoadInit = function(mc4:MovieClip) {
    bitmapPic4 = new BitmapData(_level0.tempMC4._width, _level0.tempMC4._height, true, 0xffffff);
    bitmapPic4.draw(mc4);
    _level0.tempMC4.removeMovieClip();
    trace("suppression du clip Temp4");
    _level0.testInit++;
};
theListener5.onLoadInit = function(mc5:MovieClip) {
    bitmapPic5 = new BitmapData(_level0.tempMC5._width, _level0.tempMC5._height, true, 0xffffff);
    bitmapPic5.draw(mc5);
    _level0.tempMC5.removeMovieClip();
    trace("suppression du clip Temp5");
    _level0.testInit++;
};
// fonction pour détecter le poids des images et l'ajouter à la barre de chargement
theListener1.onLoadStart = function(mc1:MovieClip) {
    _level0.testStart++;
};
theListener2.onLoadStart = function(mc2:MovieClip) {
    _level0.testStart++;
};
theListener3.onLoadStart = function(mc3:MovieClip) {
    _level0.testStart++;
};
theListener4.onLoadStart = function(mc4:MovieClip) {
    _level0.testStart++;
};
theListener5.onLoadStart = function(mc5:MovieClip) {
    _level0.testStart++;
};
// fonction à appeller à partir lorsque l'image doit être chargée
mC1load = function (mc1:MovieClip) {
    if(_level0._currentframe < 10) {
    _level0.crochet1.attachBitmap(bitmapPic1, 103);
    _level0.crochet2.attachBitmap(bitmapPic1, 104);
    }
    else {
    _level0.section.crochet1.attachBitmap(bitmapPic1, 103);
    _level0.section.crochet2.attachBitmap(bitmapPic1, 104);
    }
};
mC2load = function (mc2:MovieClip) {
    _level0.fond.attachBitmap(bitmapPic2, 1);
};
mC3load = function (mc3:MovieClip) {
    _level0.section.crochet1.attachBitmap(bitmapPic3, 105);
    _level0.section.crochet2.attachBitmap(bitmapPic3, 106);
};
mC4load = function (mc4:MovieClip) {
    _level0.section.crochet_gauche.crochet_textes.attachBitmap(bitmapPic4, 107);
};
mC5load = function (mc5:MovieClip) {
    _level0.section.crochet_bas.crochet_navigation.attachBitmap(bitmapPic5, 108);
};
theLoader1.loadClip("pictures/image1.png", _level0.tempMC1);
theLoader2.loadClip("pictures/fond.png", _level0.tempMC2);
theLoader3.loadClip("pictures/image2.png", _level0.tempMC3);
theLoader4.loadClip("pictures/image3.png", _level0.tempMC4);
theLoader5.loadClip("pictures/image4.png", _level0.tempMC5);
//////////////////////////
// Barre de chargement    //
/////////////////////////
var barWidth:Number = 200;
var barHeight:Number = 6;
this.createEmptyMovieClip("pBar_mc", 9999);
var bar:MovieClip = pBar_mc.createEmptyMovieClip("bar_mc", 10);
bar.beginFill(0xcccccc, 100);
bar.moveTo(0, 0);
bar.lineTo(barWidth, 0);
bar.lineTo(barWidth, barHeight);
bar.lineTo(0, barHeight);
bar.lineTo(0, 0);
bar.endFill();
bar._xscale = 0;
var stroke:MovieClip = pBar_mc.createEmptyMovieClip("stroke_mc", 20);
stroke.lineStyle(0, 0x000000);
stroke.moveTo(0, 0);
stroke.lineTo(barWidth, 0);
stroke.lineTo(barWidth, barHeight);
stroke.lineTo(0, barHeight);
stroke.lineTo(0, 0);
pBar_mc.createTextField("label_txt", 30, 0, barHeight, 100, 21);
pBar_mc.label_txt.autoSize = "left";
pBar_mc.label_txt.selectable = false;
pBar_mc.label_txt.font = "Arial";
pBar_mc.label_txt.textColor = 0x666666;
pBar_mc.label_txt._x = stroke_mc._x+(stroke_mc._width/2)-(pBar_mc.label_txt._width/2);
pBar_mc._x = (Stage.width-pBar_mc._width)/2;
pBar_mc._y = (Stage.height-pBar_mc._height)/2;
var xmlContent:XML = new XML();
xmlContent.ignoreWhite = true;
xmlContent.load("xml/easy_text.xml");

// Progression de la barre de chargement.

onEnterFrame = function () {
    if (_level0.testStart == 5) {
        for (i=1; i<=5; i++) {
            _level0["progress"+i] = _level0["theLoader"+i].getProgress(_level0["tempMC"+i]);
            _level0["imgBytesLoaded"+i] = _level0["progress"+i].bytesLoaded;
            if (_level0["imgBytesLoaded"+i] != undefined) {
                _level0.imgTotalCurrentLoad = _level0.imgTotalCurrentLoad+(_level0["imgBytesLoaded"+i]-_level0["poidsTemp"+i]);
                trace("soit "+(_level0["imgBytesLoaded"+i]-_level0["poidsTemp"+i])+" bytes de + qu'au tour d'avant");
            }
            else {
                _level0["imgBytesLoaded"+i] = 0;
            }
            _level0["poidsTemp"+i] = _level0["imgBytesLoaded"+i];
            if (_level0.totalImgOk == false) {
                _level0.imgTotalBytes = _level0.imgTotalBytes+_level0["progress"+i].bytesTotal;
                if (i == 5) {
                    _level0.totalImgOk = true;
                }
            }
        }
        _level0.alLoaded = _level0.imgTotalCurrentLoad+_root.getBytesLoaded();
        _level0.totalToLoad = _level0.imgTotalBytes+_root.getBytesTotal();
        _level0.pourcent = Math.floor(((_level0.alLoaded/_level0.totalToLoad)*100));
        pBar_mc.label_txt.text = "Loading "+_level0.pourcent+" %";
        _level0.barre = Math.floor(pourcent);
        _level0.barre_chargement.gotoAndStop(Math.floor(pourcent));
        bar._xscale = pourcent;
        if (_level0.pourcent>=100) {
            delete this.onEnterFrame;
            bar._xscale = _level0.pourcent;
            trace("fichier xml chargé : "+_level0.xmlContent.loaded);
            _level0.gotoAndPlay(2);
        }
    }
};



Merci de m'aider car là je patauge.

vendredi 4 mai 2007 à 10:27:24 | Re : Barre de chargement problème sour I.E. pas sous fireFox

embalmer

Réponse acceptée !
Bon j'ai résolu mon (mes) problème(s), la différences entre les navigateurs provenait de la gestion du cache un peu différente. Quoi qu'il en soit si quelqu'un est interessé par un preloader incluant le chargement d'éléments BitmapData, qu'il me mail (embalmer@free.fr) pour avoir la source (même si le code est  désormais plus  léger que le gros pavé ci-dessus ) .

++
mardi 28 juillet 2009 à 12:36:08 | Re : Barre de chargement problème sour I.E. pas sous fireFox

monsieurD

Bonjour Embalmer,

le sujet date, mais le problème reste d'actualité :
http://www.flashkod.com/forum/sujet-BARRE-CHARGEMENT-PROBLEME-SOUR-PAS-SOUS-FIREFOX_923512.aspx

Je me suis rendu compte d'un problème similaire récemment sur un de mes developements AS2.
Ce n'est pas pour un preloader, mais pour les metadonnées que l'on peut récupérer au onLoadInit.

En effet, je charge une image avec un loader , et un ecouteur, et au onLoadInit je récupère ses dimensions pour la placer.
ça fait des années que je fais ça. ça a toujours fonctionné, mais sur IE6, quand le cache n'est pas vidé, ces métadonnées sont fausses.
Il me donne systématiquement une largeur de 0 quand je recharge la page.

et comme tu dis avoir trouvé la raison de ton bug et que c'est lié à la gestion du cache des navigateurs, je me dis, que le problème doit être similaire, non?

Qu'a tu trouvé comme solution pour contourner ce soucis ?

D'avance merci pour ton aide.



Cette discussion est classée dans : function, var, mc, movieclip, level0


Répondre à ce message

Sujets en rapport avec ce message

problemes de codes AS2 [ par alexgr ] J'ai acheté un site mais il a qque petit problemes: voici le code complet et tout en dessous se trouve les messages d'erreurs, comme l'aide est en ang Gallerie Flash [ par theneoshaman ] Bonjours amis Flasheurs !Je suis en train de créer une gallerie dynamique en flash (mon dieu, que c'est original !) et j'ai un pb (sans déconner :p).. help!! problème chargement flash [ par adeltimple ] bonjour à tous . j'ai enfin réussi d'inserer un lien sur mon bouton sous flash dans mon intro avec Code : //fonction exécutée en réponse à l'événemen Mon attachMovie ne fonctionne pas.... [ par way2web ] Bonjour,j'essaye vainement d'attacher un movieClip à un autre chargé par loadClip, je le fais au onLoadInit et rien ne veut s'attacher  :? , une tenta Problème entre un attachmovie et un hittest [ par extase ] Bonjour à tous (et toutes :)Je planche sur un petit jeu sur le principe suivant : un petit bonhomme tire des balles sur des nuages qui passent dans le Limite de page trop courte [ par karolyn74 ] BonjourJ'ai un soucis qui je pense est minime mais je n'arrive pas à trouver quel chiffre et où il faut le modifiez et si il faut mettre plus grand ou Besoin d'aide pour un novice [ par jussy ] Bonjour a tous et tout d'abord bonne année! Je suis nouveau ici et je galère pas mal avec flash en xml, j'ai recupéré un fichier fla avec un xml, j'ai Problème d'affichage d'un diaporama [ par pat RB ] Bonjour à tous. J'aurais aimé mettre mon fla ici pour mieux faire comprendre mon problème mais je ne sais pas comment faire. globalemement, j'ai cré Booléen + tableau [ par lynxial ] Bonjour à tous, J'ai un petit soucis concernant les booléen, je m'explique : J'ai conçu un carré "mc1". A chaque clique sur le carré, un autre carr lecteur mp3 [ par mativito ] Bonsoir! Je suis en train de galérer sur un lecteur mp3 que j'utilise sur un site.[^^sad1] j'ai crée mes classe .as, j'importe mon lecteur sur ma scè


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales