Ну я как бы так и делаю.

Код AS1/AS2:
package
{
import flash.display.Bitmap;
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.net.URLRequest;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
public class Main extends Sprite
{
[Embed(source = '../bin/loaderW.png')]
private var loaderClass:Class;
private var loaderBitmap:Bitmap;
private var sprLoading:Sprite = new Sprite();
private var imageArr:Array = new Array();
private var iterator:int = 0;
private var decr:Number = 0.015;
private var imgLoader:Loader;
private var first:Boolean = true;
public function Main():void
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
loaderBitmap = new loaderClass();
loaderBitmap.x = loaderBitmap.width / 2 * -1;
loaderBitmap.y = loaderBitmap.height / 2 * -1;
sprLoading.addChild(loaderBitmap);
sprLoading.x = stage.stageWidth / 2;
sprLoading.y = stage.stageHeight / 2;
addChild(sprLoading);
for each (var d:* in root.loaderInfo.parameters)
{
imgLoader = new Loader();
imgLoader.load(new URLRequest(d));
if (first)
{
first = false;
imgLoader.contentLoaderInfo.addEventListener(Event.OPEN, prog);
}
imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, comp);
}
}
private function prog(e:Event):void
{
addEventListener(Event.ENTER_FRAME, rott);
}
private function rott(e:Event):void
{
sprLoading.rotation += 15;
}
private function comp(e:Event):void
{
e.target.content.width = stage.stageWidth;
e.target.content.height = stage.stageHeight;
imageArr.push(e.target.content);
addChild(e.target.content);
if(stage.contains(sprLoading))
removeChild(sprLoading);
removeEventListener(Event.ENTER_FRAME, rott);
if (imageArr.length > 1)
{
e.target.content.alpha = 0;
if (!stage.hasEventListener(Event.ENTER_FRAME))
addEventListener(Event.ENTER_FRAME, enterFR);
}
}
private function enterFR(e:Event):void
{
imageArr[iterator].alpha += decr;
if (imageArr[iterator].alpha >= 1)
{
imageArr[iterator].alpha = 1;
if (iterator>0)
imageArr[iterator - 1].alpha = 0;
if (iterator==0)
imageArr[imageArr.length-1].alpha = 0;
setChildIndex(imageArr[iterator], 0);
iterator++;
if (iterator >= imageArr.length)
iterator = 0;
}
}
}
}
Запускаю через WebSpeed Simulator.
Со скоростью 256 кб.
Не хочет гад стремиться к середине.