Preload pour des swf externes

Gizmil Messages postés 706 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 3 octobre 2022 - 23 avril 2005 à 18:48
philibertb56 Messages postés 6 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 29 janvier 2006 - 29 janv. 2006 à 12:12
Salut,


J'ai créé un preload sur la première frame du clip principal de mon site
et celui-ci fonctionne parfaitement!
Néanmoins, j'aimerais utiliser également un preload sur des swf placés en
externe de mon clip principal (mes clips externes sont appelés par un
loadmovie). J'ai essayé de placer le même preload que celui de mon clip
principal sur mes swf externes. Malheureusement, une fois que c'est online,
le preload des swf externes ne fonctionne pas. L'anim du preload s'affiche mais
elle ne tourne pas. Comment ça se fait?
Faut-il considérer le preload du clip principal et le preload des swf externes
différemment?

Voici le preload que j'utilise, il tient sur une seule frame:

Calque contenu :

- 3 champs texte dynamiques ayant comme nom d'occurence "affichage01", "affichage02",
"affichage03"
- un clip ayant pour nom d'occurence "barre"
- un clip de 100 frames permettant l'affichage graphique de la progression du chargement
de l'image.


Calque AScript :

// on crée une boucle infinie ciblée sur la scène principale (_root)
_root.onEnterFrame = function() {

// Total correspond à la taille de votre animation en Bytes
Total = _root.getBytesTotal() ;

// Lu correspond à l'état courant de chargemement de votre animation en Bytes.
Lu = _root.getBytesLoaded() ;

// rapport permet de calculer le pourcentage d'avancement du préchargement.
rapport = Math.round((Lu)/(Total)*100) ;

// Affichage de diverses données dans des champs texte dynamiques
_root.affichage01.text = "Chargement: " + Math.floor(_root.getBytesLoaded())
_root.affichage02.text = " sur " + Math.floor(_root.getBytesTotal()) + " octets"
_root.affichage03.text = Math.round(rapport) + " %";

// Progression de l'animation dans le clip "barre"
_root.barre.gotoAndStop(rapport) ;

// si le rapport atteind son maximum alors le préchargement est fini
if (rapport == 100) {

// on détruit la boucle infinie pour libérer la mémoire et le CPU.
delete this.onEnterFrame ;

// on cible le début de l'animation dans cet exemple on stoppe l'animation sur la frame
"début"
this.gotoAndStop("debut") ;
}

// stopper l'animation et lancement du preload.
stop() ;

Je suis impatient d'avoir votre avis!

4 réponses

cs_djagger Messages postés 536 Date d'inscription lundi 5 mai 2003 Statut Membre Dernière intervention 29 janvier 2009 1
25 avril 2005 à 17:26
Salut !

J'ai pas trop matté le code, mais a mon avis ca vient du _root.

Quand tu fais un loadMovie du coup le _root est celui de ton anim principale, et non du swf externe !

regarde de ce coté là !
a+++
0
_Geno_ Messages postés 6 Date d'inscription vendredi 18 mars 2005 Statut Membre Dernière intervention 7 janvier 2006
7 janv. 2006 à 19:17
Moi j'ai eu le même problème et merci Djagger grace a toi j'ai trouver comment faire^^

Gizmil il faut simplement remplacer les _root par des this



moi ca donne ça:





<hr size="2" width="100%">onEnterFrame = function() {



TotalMovie = this.getBytesTotal() ;

LuMovie = this.getBytesLoaded() ;

rapportMovie = Math.round((LuMovie)/(TotalMovie)*100) ;

percentMovie.text = Math.round(rapportMovie) + " %";

bLoadedMovie.text = Math.round(LuMovie/1024) + "K";

barreMovie.gotoAndStop(rapportMovie); // Progression de la barre en fonction du nombre de bits téléchargés

if (rapportMovie == 100) {

delete this.onEnterFrame ;

this.gotoAndPlay("video") ;

}

}

stop();


<hr size="2" width="100%">Aller en éspérent que ça te seras utile ;)



Geno
0
philibertb56 Messages postés 6 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 29 janvier 2006
29 janv. 2006 à 12:12
J'ai fait autrement, j'ai chargé les swf dans des layers différents en utilisant : loadMovieNum(numéro de level) et unlodMovieNum(numéro de level). Ainsi l'anim principale est sur sa barre de temps ds _level0 et les swf chargés ont leur propre barre de temps dans leur level !!
0
philibertb56 Messages postés 6 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 29 janvier 2006
29 janv. 2006 à 12:12
J'ai fait autrement, j'ai chargé les swf dans des layers différents en utilisant : loadMovieNum(numéro de level) et unlodMovieNum(numéro de level). Ainsi l'anim principale est sur sa barre de temps ds _level0 et les swf chargés ont leur propre barre de temps dans leur level !!
0
Rejoignez-nous