Есть в общем то рабочий код в соответствии с которым 3 картинки (скажем это фотки тракторов ) грузяться каждая на свое место и со своим предзагрузчиком. При этом в мультике одновременно отображаюся все три работающие загрузчика. Никак не могу сообразить как сделать
так , чтобы отбражался только тот предагрузчик который опережает
по скорости другие.

Код AS3:
//*********************************************************
// Глобальные константы
package {
public class Globals {
public static var Path:String="file:///C|/некий путь/Images/";
public static var Url:String=null;
public static var sdvig:uint=0;
public static var images:Array=["P1.gif","P2.gif","P3.gif"];
public static var Tname:Array=["Name1","Name2","Name3"];
public static var I:Number=0;
}
}
;
//*********************************************************
// Цикл загрузки изображений - основной класс документа
package {
import flash.display.MovieClip;
import LoadImage;
import Globals;
dynamic public class Start extends MovieClip {;
public static var dt:Number=1;
public static var MC:Array=new Array ;
public function Start() {
while (Globals.I<Globals.images.length) {
Globals.sdvig=Globals.I*120;
Globals.Url=Globals.Path+Globals.images[Globals.I];
MC[Globals.I]=new LoadImage ;
MC[Globals.I].x=Globals.sdvig;
MC[Globals.I].TractorsName.text=Globals.Tname[Globals.I];
addChild(MC[Globals.I]);
Globals.I+=1;
}
}
}
}
;
//*********************************************************
// Предзагрузчик
package {
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;
import flash.text.*;
public class LoadImage extends MovieClip {
var _loaderStatus:TextField;
var TractorsName:TextField;
var percent:Number;
var loader:Loader=new Loader ;
public function LoadImage() {
TractorsName=new TextField ;
var percent=new Number ;
var loader:Loader=new Loader ;
addChild(loader);
// Добавляем обработчики событий
// для контроля за процессом загрузки
loader.contentLoaderInfo.addEventListener(Event.OPEN,openHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
// Загружаем внешнее изображение
loader.load(new URLRequest(Globals.Url));
}
// Обработка окончания загрузки
private function completeHandler(event:Event):void {
removeChild(_loaderStatus);
_loaderStatus=null;
TractorsName.visible=true;
}
// Обработка начала загрузки
private function openHandler(event:Event):void {
_loaderStatus=new TextField ;
addChild(_loaderStatus);
_loaderStatus.text="Загрузка: 0%";
_loaderStatus.border=true;
_loaderStatus.autoSize=TextFieldAutoSize.LEFT;
TractorsName.border=true;
TractorsName.autoSize=TextFieldAutoSize.LEFT;
TractorsName.visible=false;
addChild(TractorsName);
}
// Обработка процесса загрузки
private function progressHandler(event:ProgressEvent):void {
percent=Math.floor(event.bytesLoaded/event.bytesTotal*100);
_loaderStatus.text="Загрузка:"+percent+"%";
}
private function unLoadHandler(event:Event):void {
trace("unLoadHandler: "+event);
}
}
}