вот готовый внешний, самый подходящий для данного случая:

Код AS3:
package {
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;
import flash.text.*;
public class SlimLoader extends Sprite{
private var loader:Loader;
private var progressOutput:TextField;
public function SlimLoader(){
createLoader();
createProgressIndicator();
//"http://../*.swf"
load(new URLRequest("*.swf"));
}
private function createLoader():void{
loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeListener);
loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
}
private function createProgressIndicator():void{
progressOutput = new TextField();
progressOutput.autoSize = TextFieldAutoSize.LEFT;
progressOutput.background = true;
progressOutput.border = true;
progressOutput.x = 200;
progressOutput.y = 150;
progressOutput.selectable = false;
progressOutput.text = "LOADING...";
}
private function load (urlRequest:URLRequest):void{
loader.load(urlRequest);
if(!contains(progressOutput)){
addChild(progressOutput);
}
}
private function progressListener(e:ProgressEvent):void{
progressOutput.text = "LOADING: " + Math.floor(e.bytesLoaded / 1027) + "/" + Math.floor(e.bytesTotal / 1027) + "kB";
}
private function initListener(e:Event):void{
}
private function completeListener(e:Event):void{
removeChild(progressOutput);
stage.addChild(loader.content);
}
}
}