Je dois faire un simple indicateur de progression lorsque je charge une image en arrière-plan. J'utilise la classe flash.display.Loader dans ce qui semble être la méthode standard. Le problème est que même si je peux voir que flash.display.LoaderInfo déclenche le ProgressEvent.PROGRESS à intervalles réguliers en utilisant le suivi, un texte mis à jour dynamiquement (ou tout autre objet graphique) est mis à jour une seule fois lorsque le chargement se termine. Il semble que la mise à jour de l'affichage a été mise en file d'attente et n'a provoqué qu'une seule mise à jour à la fin. Ceci est une version simplifiée de la fonction qui initie le chargement:Indicateur de progression utilisant flash.display.Loader
public function init()
{
var loader : Loader = new Loader();
var request : URLRequest = new URLRequest(this.imageSrc);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, updateProgress);
loader.load(request);
}
et c'est le gestionnaire d'événements:
private function updateProgress(event : ProgressEvent) : void
{
progressIndicator.text = event.bytesLoaded + "/" + event.bytesTotal;
trace(event.bytesLoaded + "/" + event.bytesTotal);
}
Je me excuse sans doute une question élémentaire. Je n'utilise pas Flash très souvent. Mais il me semble que je fais une chose sensible et intuitive. Ça doit être un piège 101 Flash.
Merci beaucoup pour vos efforts et votre temps. Je pense avoir compris quel était le problème. Je vais poster une réponse. –
Pas de problème. Je ne suis jamais tombé sur celui-ci, alors merci de nous avoir fait gagner du temps en le partageant. –