1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| package{
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.URLRequest;
public class Chargeur extends Sprite{
private var _statutLoader:TextField;
public function Chargeur(pathImage:String){
// créer le chargeur et l'ajouter dans la liste d'affichage.
var chargeur:Loader = new Loader();
addChild(chargeur);
//Ajoute les gestionnaires d'événements pour contrôler la progression
chargeur.contentLoaderInfo.addEventListener(Event.OPEN, gestionOpen);
chargeur.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,gestionProgress);
chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, gestionComplete);
trace("image : "+pathImage);
//Charge l'image externe
chargeur.load(new URLRequest(pathImage));
}
private function gestionOpen(evt:Event):void{
trace("téléchargement commencé");
//Créer un simple préchargeur en mode texte et l'ajoute a la liste d'affichage
_statutLoader = new TextField();
addChild(_statutLoader);
_statutLoader.text = "Chargement : 0%";
}
private function gestionProgress(evt:ProgressEvent):void{
var pourcent:Number = evt.bytesLoaded / evt.bytesTotal *100;
trace("Progression : " + pourcent + "%");
//Mettre à jour le % de téléchargement pour informer l'utilisateur de la progression
_statutLoader.text = "Chargement : "+pourcent+"%";
}
private function gestionComplete(evt:Event):void{
trace("Téléchargement terminé");
// Nettoyage. Le préchargeur n'est olus nécessaire.
removeChild(_statutLoader);
_statutLoader = null;
}
}
} |