Tengo 2 capas. En la primera creo un Movie clip vacio con el nombre de instancia contenedor en el frame 1 y en la segunda capa en el frame 1 escribo este codigo
Código:
function cargarXML(cargado) {
if (cargado) {
xmlNodo = this.firstChild;
imagen = [];
descripcion = [];
total = xmlNodo.childNodes.length;
for (i=0; i<total; i++) {
imagen[i] = xmlNodo.childNodes[i].childNodes[0].firstChild.nodeValue;
}
CargarPrimeraImagen();
} else {
trace("algo ha fallado");
}
}
xmlAlbum = new XML();
xmlAlbum.ignoreWhite = true;
xmlAlbum.onLoad("imagenes.xml");
////Precarga////
//cada vez que entra en el frame
this.onEnterFrame = function() {
//peso es igual al peso total de "contenedor"
peso = contenedor.getBytesTotal();
cargado = contenedor.getBytesLoaded();
if (cargado != peso) {
precarga_txt.text = Math.round(cargado*100/peso)+" % cargado";
} else {
if (contenedor._alpha<100) {
contenedor._alpha += 3;
}
}
};
function CargarPrimeraImagen() {
contenedor._alpha = 0;
posarray = 0;
contenedor.loadMovie(imagen[posarray], 1);
Carrusel();
}
function SiguienteImagen() {
if (posarray<(total-1)) {
contenedor._alpha = 0;
posarray++;
contenedor.loadMovie(imagen[posarray]);
Carrusel();
}
}
///carrusel///
retraso = 3000;
function Carrusel() {
miIntervalo = setInterval(pararcarrusel, retraso);
function pararcarrusel() {
clearInterval(miIntervalo);
if (posarray == (total-1)) {
posarray = -1;
CargarPrimeraImagen();
} else {
SiguienteImagen();
}
}
}
El Xml es este;
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<album>
<imagen>
<origen>ft1.jpg</origen>
</imagen>
<imagen>
<origen>ft2.jpg</origen>
</imagen>
<imagen>
<origen>ft3.jpg</origen>
</imagen>
<imagen>
<origen>ft4.jpg</origen>
</imagen>