Мне нужно сделать простой индикатор прогресса при загрузке изображения на фоне. Я использую класс flash.display.Loader в том, что кажется стандартным способом. Проблема в том, что, хотя я вижу, что flash.display.LoaderInfo регулярно запускает ProgressEvent.PROGRESS с использованием трассировки, динамически обновляемый текст (или любой другой графический объект) обновляется только один раз, когда загрузка заканчивается. Похоже, что обновление дисплея поставлено в очередь и вызвало только одно обновление в конце. Это упрощенная версия функции, которая инициирует загрузку:
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);
}
и это обработчик события:
private function updateProgress(event : ProgressEvent) : void
{
progressIndicator.text = event.bytesLoaded + " / " + event.bytesTotal;
trace(event.bytesLoaded + " / " + event.bytesTotal);
}
Я прошу прощения за, вероятно, элементарный вопрос. Я не часто использую Flash. Но мне кажется, что я делаю разумную и интуитивную вещь. Это должно быть около 101 ловушки Flash.