если лучше "въедешь", то тогда так
код не перетряхивал, просто вытащил кусок из работающего проекта

Код:
listener.onLoadStart = function(target_mc:MovieClip) {
_root.onEnterFrame = function() {
var bl = pathLoad.getBytesLoaded();
var bt = pathLoad.getBytesTotal();
_root.preloader._visible = true;
_root.preloader.preloader1.gotoAndStop(Math.round(bl/bt*100));
_root.preloader.preloader2.gotoAndStop(Math.round((bl/bt*100/_root.list.length)+(100/_root.list.length*i)));
if (_root.preloader.preloader2._currentframe>=100) {
_root.preloader._visible = false;
}
};
};
listener.onLoadComplete = function(target_mc:MovieClip) {
path.onPress = function() {
_root.focus_mc = this;
this.swapDepths(this._parent.getNextHighestDepth());
_root.list.selectedIndex = int(_root.focus_mc._name.substr(1, 1));
this.startDrag();
};
path.onRelease = path.onReleaseOutside=function () {
this.stopDrag();
};
};
listener.onLoadInit = function(target_mc:MovieClip) {
i++;
if (i<_root.list.length) {
path = _root.mc.createEmptyMovieClip('l'+i+'_mc', _root.mc.getNextHighestDepth());
pathLoad = path.createEmptyMovieClip('loaded_mc', path.getNextHighestDepth());
mcl.loadClip(_root.arr[i],pathLoad);
}
};
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(listener);