[Astuce] Préchargement d'une animation (loadMovie ou loadMovieNum)
Écrit par Thibault Imbert | 26-08-2005
Créer une animation d'attente le temps qu'un contenu spécifique ou chargé par loadMovie, soit préchargé et disponible à la lecture

Pour comprendre ce tutorial, vous devez connaître le procédé du % Loader.
Reportez vous au tutorial sur le préchargement simple.

Cibler le préchargement d'éléments - loadMovie dans une cible

Ici, les propriétés utilisées sont : _getBytesLoaded() et _getBytesTotal()

_getBytesLoaded indique le nombre de Bytes préchargés et _getBytesTotal renvoie le nombre total de Bytes.

Si _getBytesTotal est placé sur un clip, il renverra le poids de ce clip et des objets y étant placés en imbrication.

Pour obtenir un valeur en KyloBytes, diviser le résultat par 1024.

Cet exemple illustre un site utilisant les loadMovie ou si vous souhaitez isoler et maîtriser le préchargement de certains éléments.

 

 preload3.zip preload3.zip (1.10 MB)

Dans cet exemple :

  • Action d'Image en Image 1 :

monClip.loadMovie( "chargeable.swf" );

Un clip ' monClip' est placé sur la 1ère Image du scénario principal. Il s'agit du clip qui reçoit le Swf chargé par loadMovie.
' chargeable ' est un Swf comprenant une suite de bitmaps.

  • Sur ce clip l'action est :

onClipEvent (enterFrame) {
   _parent.taux=Math.round((this.getBytesLoaded()/this.getBytesTotal())*100);
}


Un champ de texte dynamique avec variable 'taux' est placé sur la 1ère Image du scénario principale (pour récupérer le pourcentage chargé).

Eléments chargés par loadMovieNum à des niveaux

Dans l'exemple ci-dessous, l'animation principale comprend une petite animation d'attente et et un champ de texte dynamique indiquant le nombre de bytes chargés d'un fichier Swf chargé au level 1.

La technique reste similaire aux précédentes, si ce n'est que vous pouvez depuis le level 0 savoir ce qu'il se passe sur un autre level en utilisant les chemins.

Ce script est placé sur le clip d'animation (comprenant la séquence d'attente) comme dans le l'exemple du tutorial sur le % loader :

onClipEvent (enterFrame) {
   _parent.taux = Math.round((_level1.getBytesLoaded()/_level1.getBytesTotal())*100);
   if (_parent.taux >= 100) {
      this.unloadMovie();
   }
}

preload4.zip preload4.zip (140.27 KB) 

Cette technique si elle ne doit pas renvoyer une animation d'attente, peut être intéressante pour créer des conditions selon qu'un niveau est ou n'est pas chargé lors de chargement sur plusieurs niveaux.

 

[maj 08/2002]

 
Dernière mise à jour : 12-09-2006