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.