il preloader può essere inserito nello stesso contesto facilmente, visto che abbiamo a che fare con la classe MovieClipLoader che permette di monitorare i vari stati di caricamento delle immagini
in particolare nel codice va aggiunta la funzione "onLoadProgress", riprendendo il codice di esempio, avremo una cosa del genere:
codice:
var interceptMovieClip:Function = function (target_mc:MovieClip):MovieClip {
var temp:MovieClip = (target_mc._name == "firstMC") ? secondMC : firstMC;
return temp;
};
var slideShow:Function = function (target:MovieClip, index:Number, shifting:Number) {
var other = interceptMovieClip(target);
var int_index = index;
var mclo:MovieClipLoader = new MovieClipLoader();
var mcli:Object = new Object();
mcli.onLoadProgress = function (target:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
trace("caricati "+bytesLoaded+" di "+bytesTotal);
}
mcli.onLoadError = function(target:MovieClip, errorCode:String) {
if (errorCode == "URLNotFound") {
slideShow(target, index, shifting);
}
};
mcli.onLoadInit = function(target:MovieClip):Void {
trace("img/"+int_index+".jpg");
int_index += 2;
var t:Object = new mx.transitions.Tween(target, "_alpha", mx.transitions.easing.None.easeNone, 0, 100, .5, true);
t.onMotionFinished = function() {
var a = setInterval(function () {
clearInterval(a);
var t:Object = new mx.transitions.Tween(target, "_alpha", mx.transitions.easing.None.easeNone, 100, 0, .5, true);
t.onMotionFinished = function() {
mclo.loadClip("img/"+int_index+".jpg", target);
target.swapDepths(other);
};
}, shifting*1000);
};
};
mclo.addListener(mcli);
mclo.loadClip("img/"+int_index+".jpg", target);
};
//
var time_to_slide:Number = 5;
var firstMC:MovieClip = _level0.createEmptyMovieClip("firstMC", 1);
var index1:Number = 1;
var secondMC:MovieClip = _level0.createEmptyMovieClip("secondMC", 2);
var index2:Number = 2;
slideShow(firstMC, index1, time_to_slide*2);
setTimeout(slideShow, 5000, secondMC, index2, time_to_slide*2);