Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: fichier flash chargé plus gros que le swf d'origine
Envoyé: 10 juin 2004, 12h43 par aurelienalix
dans le swf dans la premiere frame
loadMovieNum("fer.swf",1);
loadMovieNum("3aire global.swf",2);
loadMovieNum("tertiaire.swf",3);
loadMovieNum("farman2.swf",4);
puis dans la deuxieme frame
j'ai un movie clip sur lequel j'applique ce code,qui est une vulgaire barre d'avancement
onClipEvent (enterFrame) {
// construction du string de la variable temoin (qui affiche le pourcentage de chargement)
_level0.temoin = "Chargement en cours... " add Math.round((_level1.getBytesLoaded() / _level1.getBytesTotal()) * 100) add "%";
// construction du string de la variable byte (qui affiche le nombre de bytes chargées)
_level0.K = Math.round(_level1.getBytesLoaded()/1000) add " K";
_level0.TOTAUX= _level1.getBytesTotal();
// voila le script qui fait fonctionner la barre selon un étirement en xScale
setProperty(this, _xscale, Number((_level1.getBytesLoaded() / _level1.getBytesTotal()) * 100));
_level1._visible = 0;
// voici le script qui fait fonctionner le pre-chargement lui-meme
if (Number(_level1.getBytesTotal()) >= 10000){
if (Number(_level1.getBytesLoaded()) >= Number(_level1.getBytesTotal())) {
// ici vous devez mettre l'action que vous desirez une fois le chargement termine
ok1=true;
}
}
}
vu que j'ai 4 fichier à charger j'ai 4 variable ok1 à ok4
j'ai mis cette condition pour demarrer la lecture cad attendre que tout le monde soit chargé
onClipEvent (enterFrame) {
if (_root.Lbar.ok1 == true && _root.Lbar3.ok3 == true
&& _root.Lbar2.ok2 == true && _root.Lbar4.ok4 == true)
{_root.chargement_ok._visible=1;
_root.gotoAndPlay(25);
}
}
et dans mon image 25 je cache tout mes claques sauf celui que je veux lire
tellTarget(_level1){
gotoAndPlay(1);
_level1._visible = 1;
_level2._visible = 0;
_level3._visible = 0;
_level4._visible = 0;
}
stop();
au niveau de la taille
les fichiers font entre 365 et 847 ko sur le serveur et dans le flash leurs taille va de 445 à 1336 ko
ce qui fait une augmentation de 20 à 50%
Merci pour ta reponse precedente qui etait tres didactique.
PS:dans le code pour la barre de progression j'ai ajouté une subtilité
<b>if (Number(_level1.getBytesTotal()) >= 10000)<b>
car j'ai remarqué que la fonction getbytestotal renvoyé pendant un instant -1 lors du chargement ce qui faisait que j'avais tous mes ok à true et l'anim demarrer alors que les swf n'etait pas chargé.c'est pas tres propre mais bon c pas ma faute si flash pose se probleme.
Merci.
Réponses
|