estoy haciendo una carga de XML hacia Flash, esta cargara datos y imagenes, al principio carga los primeros datos del childNodes "MENSAJE", que corresponderia donde se encuentra "imagen1.png", alli todo bien, el problema es cuando le doy a "boton de adelante" esta llama a otro nodo que es donde esta "imagen3.png" y no al que pertenece al mismo que deberia de ser "imagen2.png" para mejor entendimiento aqui esta los codigos, y espero me ayuden.
Es necesario que la sintaxis y la forma del XML sea de esa manera que la puse, por que todo el xml se mostrara en un mismo flash, pero en direfrentes partes.
Código :
<?xml version="1.0" encoding="ISO-8859-1"?> <eventos> <contenido> <mensaje> <titulo>Aviso de suspension </titulo> <email>[email protected]</email> <descrip>Su servicio sera suspendido</descrip> <image>images/1.png</image> </mensaje> <mensaje> <titulo>Alerta Precaucion </titulo> <email>[email protected]</email> <descrip>debe de estar alerta</descrip> <image>images/2.png</image> </mensaje> </contenido> <contenido> <mensaje> <titulo>Dar de alta </titulo> <email>[email protected]</email> <descrip>esta para su atencion</descrip> <image>images/3.png</image> </mensaje> <mensaje> <titulo>Poner en baja</titulo> <email>[email protected]</email> <descrip>no es recomendable</descrip> <image>images/4.png</image> </mensaje> </contenido> </eventos>
y esto es de el flash
Código :
xmlData = new XML(); //Nuevo objeto XML
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("script.xml");
function loadXML(loaded)
{
if (loaded)
{
//archivo xml cargado
xmlNode = this.firstChild;
image = [];
tit = [];
descrip = [];
email = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++)
{
tit[i] = xmlNode.childNodes[i].childNodes[0].childNodes[0].childNodes[0];
descrip[i] = xmlNode.childNodes[i].childNodes[0].childNodes[2].childNodes[0];
email[i] = xmlNode.childNodes[i].childNodes[0].childNodes[1].childNodes[0];
image[i] = xmlNode.childNodes[i].childNodes[0].childNodes[3].childNodes[0];
}
firstImage();
}
else
{
content = "Fichero XML no cargado!";
}
}
p = 0;
this.onEnterFrame = function()
{
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
preloader._visible = true;
if (loaded != filesize)
{
preloader.preload_bar._xscale = 100*loaded/filesize;
}
else
{
preloader._visible = false;
if (picture._alpha<100)
{
picture._alpha += 10;
}
}
};
function firstImage()
{
if (loaded == filesize)
{
picture._alpha = 0;
picture.loadMovie(image[0], 1);
titulo_txt.text = tit[0];
descrip_txt.text = descrip[0]
email_txt.text = email[0];
picture_num();
}
}
Key.addListener(listen);
atras.onRelease = function()
{
prevImage();
};
adelante.onRelease = function()
{
nextImage();
};
function nextImage()
{
if (p<(total-1))
{
p++;
if (loaded == filesize)
{
picture._alpha = 0;
picture.loadMovie(image[p], 1);
titulo_txt.text = tit[p];
descrip_txt.text = descrip[p];
email_txt.text = email[p];
picture_num();
}
}
}
function prevImage()
{
if (p>0)
{
p--;
picture._alpha = 0;
picture.loadMovie(image[p], 1);
titulo_txt.text = tit[p];
descrip_txt.text = descrip[p]
email_txt.text = email[p];
picture_num();
}
}
function picture_num()
{
current_pos = p+1;
numero_txt.text = current_pos+" / "+total;
}
Espero me ayuden.
