Código ActionScript :
MovieClip.prototype.crossFade = function(xmlPath, vel, interval, loop) {
obj = _root.imagen;
//
obj.images = new XML();
obj.images.load(xmlPath);
obj.images.ignoreWhite = true;
obj.images.onLoad = run;
//
obj.vel = vel;
obj.loop = loop;
obj.interval = interval*1000;
obj.rumTimer = true;
obj.activeInterval = false;
function run() {
for (j=0; j<obj.images.childNodes.length; j++) {
obj.end = obj.images.childNodes[j].childNodes.length;
if (obj.images.childNodes[j].nodeName == "crossFade") {
for (i=0; i<obj.end; i++) {
obj.file = String(obj.images.childNodes[j].childNodes[i].childNodes);
obj.createEmptyMovieClip("mc"+i, i);
obj["mc"+i].loadMovie(obj.file,imagen);
obj["mc"+i]._alpha = 0;
}
obj.n = 0;
obj.onEnterFrame = function() {
if (obj.percent == 100) {
// ::: cualquier script para desactivar precarga
_root.textBox.text = "";
// :::
if (obj.activeInterval != true) {
obj["mc"+(obj.n-1)]._alpha -= obj.vel;
obj["mc"+obj.n]._alpha += obj.vel;
}
if (obj["mc"+obj.n]._alpha>=100 && obj["mc"+(obj.n-1)]._alpha<=0) {
obj.activeInterval = true;
if (obj.rumTimer) {
obj.iniTimer = getTimer();
obj.rumTimer = false;
}
if (getTimer()-obj.iniTimer>obj.interval) {
obj.activeInterval = false;
obj.rumTimer = true;
obj.n++;
}
}
if (obj.n == obj.end && loop) {
obj.mc0._alpha += obj.vel;
}
if (obj.n == obj.end && obj["mc"+(obj.n-1)]._alpha<=0) {
if (!obj.loop) {
delete obj.onEnterFrame;
} else {
obj.n = 0;
}
}
} else {
obj.loadedBytes = 0;
obj.totalBytes = 0;
for (i=0; i<=obj.end; i++) {
obj.loadedBytes += obj["mc"+i].getBytesLoaded();
obj.totalBytes += obj["mc"+i].getBytesTotal();
}
obj.percent = Math.round(100/obj.totalBytes*obj.loadedBytes);
// ::: cualquier script para activar precarga
_root.textBox.text = (obj.percent) ? obj.percent+"%" : "";
// :::
}
};
}
}
}
};
//uso
//mc.crossfade(parametro1,parametro2,parametro3,parametro4);
this.crossFade("../swf/xml/images.xml", 5, 4, true);
//parametro1 = "ruta/archivo.xml"
//parametro2 = velocidad de fundido
//parametro3 = intervalo de tiempo entre c/imagen - milisegundos
//parametro4 = loop - true o falseAyuda please!!
