Auteur: Jérôme Forget. Publié le 30 juillet 2006.
Pour ajouter un moteur de chargement (ou de préchargement) simple à votre animation, ajoutez le code suivant sur la première image du scénario:
stop();
var nChargementIntervalle:Number = setInterval(this, "surveilleChargement", 100);
function surveilleChargement():Void {
var nOctetsCharges:Number = this.getBytesLoaded();
var nOctetsTotal:Number = this.getBytesTotal();
if(nOctetsCharges >= nOctetsTotal) {
clearInterval(nChargementIntervalle);
play();
}
}
Ce script arrête la tête de lecture sur la première image, empêchant la lecture de l'animation tant que tout le SWF n'a pas été chargé. Il utilise un intervalle pour vérifier l'état du chargement toutes les 100 millièmes de seconde. Quand le nombre d'octets chargés égale le nombre d'octets total de l'animation, le chargement est complété et la tête de lecture poursuit son cours.
D'un point de vue simplement fonctionnel, ce script réalise bien un moteur de chargement. Cependant, l'utilisateur n'est en aucun cas informé du progrès du chargement ni du temps d'attente requis pour le chargement. Vous devriez au moins indiquer un message sur la première image pour informer l'utilisateur que le chargement est en cours. Placez le contenu de votre animation sur l'image 2 (ou sur n'importe quelle autre image, en utilisant l'action gotoAndPlay() plutôt que play()).
Pour tester votre moteur de chargement, insérez un grande image ou un son sur l'image 2 de votre document et tester votre animation (Contrôle -> Tester l'animation). Assurez-vous de sélectionner l'option Affichage -> Simuler le téléchargement pour voir l'effet réel.