хитрый способ.:

Код AS1/AS2:
var loader:MovieClipLoader=new MovieClipLoader();
var listener:Object={}
loader.addListener(listener);
loader.loadClip("img/img1.jpg", pig1);
loader.loadClip("img/img2.jpg", pig2);
loader.loadClip("img/img3.jpg", pig3);
loader.loadClip("img/img4.jpg", pig4);
loader.loadClip("img/img5.jpg", pig5);
loader.loadClip("img/img6.jpg", pig6);
listener.onLoadStart=function():Void {
_root.createTextField("preloader", 10234, 250,100,40,18);
preloader.border = true;
preloader.text ="0%";
_root.stop();
};
listener.onLoadProgress=function(clip:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
preloader.text= Math.round(bytesLoaded/bytesTotal*100)+"%";
var persent:Number = Math.round(bytesLoaded/bytesTotal*100)
poloska._xscale= persent;
};
listener.onLoadComplete=function():Void {
_root.gotoAndPlay(2);
preloader.text ="Complete"
poloska._visible=false;
}
pig1,2,3,4,5,6 - это пустые клипы контейнеры, в которые загружаются картинки. Все эти клипы есть во флэшке уже с первого кадра, просто в невидимом состоянии, чтобы флэшь начинала подгружать их картинки сразу при загрузке первого кадра. Иначе косяк.
preloader- поле, которое отображает проценты циферками, а а клип poloska - синий прямоугольничек, _xscale которой равно процентам.
при начале загрузки картинок клип останавливает проигрывание. При завершении загрузки - идет и проигрывает клип со второго кадра.) А заодно прячет прогресс-бар.
Вообщем вроде как все правильно.При проверке работает.