Можно вынести легко код загрузщика в отдельный класс

Код:
package {
import flash.display.*;
import flash.events.*;
import flash.ui.Mouse;
import flash.text.*;
import flash.net.*;
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;
public class Doc extends Sprite {
var loader:FerryLoader;
var count:int;
var position:int;
var path:String;
var arr:Array;
var sp:Sprite;
var tween:Tween;
var tr:Boolean;
var i:int;
function Doc() {
path = 'http://www.dnadillo.dn.ua/images/imag/';
arr = [
'magna_17_1024.jpg','magna_33_1024.jpg',
'magna_carta_078.JPG','magna_carta_115.JPG',
'magna_carta_126.JPG','magna_carta_127.JPG',
'magna_carta_131.JPG','magna_carta_133.JPG',
'magna_carta_140.JPG','magna_carta_141.JPG',
'magna_carta_144.JPG'
];
count = 0;
position = 0;
tr = false;
loader = new FerryLoader(this);
loader.urlTrain(path+arr[count]);
tween = new Tween({i:0}, "i", Regular.easeOut, 0, 1, 10, true);
tween.stop();
tween.addEventListener(TweenEvent.MOTION_CHANGE, handleChange);
tween.addEventListener(TweenEvent.MOTION_FINISH, fin);
}
function onward() {
sp = this.getChildAt(this.numChildren-1) as Sprite;
sp.alpha = 0;
count++;
if (count < arr.length) {
loader.urlTrain(path+arr[count]);
if (tr==false) {
tr = true;
tween.start();
}
}
}
function handleChange(evt:TweenEvent):void {
//tween.obj.i;
for (i=0; i<this.numChildren; i++) {
if (i==position) {
sp = this.getChildAt(i) as Sprite;
trace(sp);
sp.alpha = tween.obj.i;
}
}
}
function fin(evt:TweenEvent):void {
position++;
tween.start();
trace('Конец');
}
}
}
И класс загрузщика

Код:
package {
import flash.display.*;
import flash.events.*;
import flash.ui.Mouse;
import flash.text.*;
import flash.net.*;
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;
public class FerryLoader extends URLLoader {
var req:URLRequest;
var loader:Loader;
var doc:Doc;
var sp:Sprite;
function FerryLoader(_doc:Doc) {
doc=_doc;
req=new URLRequest();
dataFormat= URLLoaderDataFormat.BINARY;
addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
addEventListener(Event.COMPLETE,got);
}
function urlTrain(_str:String) {
req.url=_str;
try {
load(req);
} catch (error:Error) {
trace("Unable to load requested document.");
}
}
function got(evt:Event) {
loader = new Loader;
loader.loadBytes(this.data);
sp=new Sprite();
sp.addChild(loader);
doc.addChild(sp);
doc.onward();
}
function ioErrorHandler(event:IOErrorEvent):void {
trace('Ошибка');
doc.onward();
}
}
}