Flash CS4 Professional ActionScript 2.0

Loader.progress

Disponibilité

Flash Player 6 (6.0.79.0).

Edition

Flash MX 2004.

Utilisation

Utilisation 1 :

var listenerObject:Object = new Object();
listenerObject.progress = function(eventObj:Object) {
    // ...
};
loaderInstance.addEventListener("progress", listenerObject);

Utilisation 2 :

on (progress) {
    // ...
}

Description

Evénement : diffusé à l'ensemble des écouteurs enregistrés pendant le chargement du contenu. Cet événement se produit lorsque le chargement est déclenché par le paramètre autoload ou par un appel à Loader.load(). L'événement progress n'est pas toujours diffusé, et l'événement complete peut être diffusé sans qu'aucun événement progress ne soit distribué. Ceci peut se produire si le contenu chargé est un fichier local.

Le premier exemple d'utilisation fait appel à un modèle dispatcher(diffuseur)/écouteur d'événement. Une occurrence de composant (loaderInstance) distribue un événement
(ici, progress) qui est géré par une fonction, également appelée un gestionnaire, associée à un objet écouteur (listenerObject) que vous créez. Vous définissez une méthode portant le même nom que l'événement traité par l'objet écouteur. La méthode est appelée lorsque l'événement est déclenché. Lorsque l'événement est déclenché, il transmet automatiquement un objet événement (eventObject) à la méthode d'objet écouteur. Chaque objet événement a des propriétés qui contiennent des informations sur l'événement. Vous pouvez utiliser ces propriétés pour écrire le code qui traitera l'événement. Pour finir, vous appelez la méthode EventDispatcher.addEventListener() sur l'occurrence de composant qui diffuse l'événement pour enregistrer l'écouteur avec l'occurrence. Lorsque l'occurrence distribue l'événement, l'écouteur est appelé.

Pour plus d'informations, voir Classe EventDispatcher.

Le second exemple d'utilisation fait appel à un gestionnaire on() et doit être associé directement à une occurrence Loader. Le mot-clé this, utilisé dans un gestionnaire on() lié à un composant, correspond à l'occurrence de composant. Par exemple, le code suivant, associé à l'occurrence Loader myLoaderComponent, envoie « _level0.myLoaderComponent » vers le panneau Sortie :

on (progress) {
    trace(this);
}

Exemple

Le code suivant crée une occurrence Loader, puis un objet écouteur avec un gestionnaire d'événements pour l'événement progress. Celui-ci envoie un message vers le panneau Sortie indiquant le pourcentage du contenu qui a été chargé :

//Création de l'occurence Loader.
this.createClassObject(mx.controls.Loader, "my_ldr", 10);

// Création d'un objet écouteur.
var loaderListener:Object = new Object();
loaderListener.progress = function(evt_obj:Object){
  // evt_obj.target est le composant qui a généré l'événement progress,
  // c'est-à-dire le chargeur.
  trace("image is " + my_ldr.percentLoaded + "% loaded.");
}

// Ajout de l'écouteur.
my_ldr.addEventListener("progress", loaderListener);

// Affectation du chemin du contenu du chargeur.
my_ldr.contentPath = "http://www.flash-mx.com/images/image1.jpg";