Есть стандартный прелоадер.
Вроде как всё работает, но не рассчитать процент загрузки, т.к. bytesTotal при предпросмотре работает норм, когда заливаю на сервак в EnternetExplorer'e показывает всё время 0, в FireFox'e всегда то же число, что и bytesLoaded. Следовательно процент или 100% или infinity%.
Вот код:

Код AS3:
package {
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.StageScaleMode;
import flash.display.StageAlign;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.events.ProgressEvent;
import flash.events.Event;
import main.Main;
public class ExportSecondFrame extends MovieClip {
private var preloaderText:TextField = new TextField;
private var progressBar:Sprite;
public function ExportSecondFrame() {
super();
stop();
stage.showDefaultContextMenu = false;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
progressBar = getChildByName("pBar") as Sprite;
progressBar.scaleX = 0;
preloaderText.autoSize = TextFieldAutoSize.CENTER;
preloaderText.x = 303.5;
preloaderText.y = 310;
addChild(preloaderText);
loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loaderInfo.addEventListener(Event.COMPLETE, completeHandler);
}
private function progressHandler(e:ProgressEvent):void {
progressBar.scaleX = e.bytesLoaded/e.bytesTotal;
preloaderText.text = e.bytesLoaded.toString() + " из " + e.bytesTotal.toString() + " (" + (e.bytesLoaded/e.bytesTotal)*100 + "%)";
}
private function completeHandler(event:Event):void {
play();
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function enterFrameHandler(event:Event):void {
if (currentFrame >= 3) {
gotoAndStop(2);
removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
loaderInfo.removeEventListener(Event.COMPLETE, completeHandler);
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler);
preloaderText = null;
main();
}
}
private function main():void {
var programClass:Class = loaderInfo.applicationDomain.getDefinition("main.Main") as Class;
var program:MovieClip = new programClass() as MovieClip;
addChild(program);
}
}
}
Плиз хелп!