o para ser especifico un "catalogo flash con XML".
Para ello use un archivo base "Lector de noticias XML en Flash con imagenes de Cristalab" que me parecio lo mas proximo al catalogo q quiero hacer, le reubique los elementos y les cambie d color (eso estuvo facil), le cambie y le agrege elementos asociados al XML: como dimension y precio (es q es un catalogo d obras artisticas)
Aun necesito hacerle dos cambios, que derivaron por cierto en problemas:
1º problema:
Ahora quiero ubicar las "imagenes" en un carpeta y q d ahi las cargue el SWF (el archivo original necesita las imagenes y el SWF en la misma carpeta para q carguen, algo tedioso para mas d 10 artistas con 10 a mas obras cada uno, en otras palabras, muchas imagenes), para eso se q tengo q modificarle algo en el archivo FLA, y no se que es. Le agrege algo por ahi, y me cargo ya la primera imagen de la carpeta "galeria", pero no pasa a la segunda y a la tercer, etc.
2º problema:
Las imagenes tiran (se cargan) en zona izquierda superior d todo el SWF, y necesito q esten centradas en el espacio q asgine a la zona d carga d las imagenes, el motivo es q colocare imagenes tanto verticales como horizontales de variadas resoluciones.
A continuacion el codigo manipulado (mis comentarios d los agredados q le di esta entre puntos: ".. .."), q no cambio casi nada:
En FLA
Código :
.. stop(); ruta="\\galeria\\imagen"; //ruta de las imagenes indice = 1; //contador .. //Permite caracteres tradicionales como letras con tilde la ñ, etc. System.useCodepage = true; //Se declara la variable indice de tipo número (utilizada para referencia la noticia a mostrar) var indice:Number; //Se declara la variable noticias_xml de tipo XML (utilizada para almacenar el documento xml) var noticias_xml:XML; /* Funcion cargarDatos (utilizada para cargar y cambiar las noticias en el documento) Esta función recibe un parámetro "_indice" que corresponde al elemento noticia a mostrar */ function cargarDatos(_indice:Number){ //Se inicializan variables utilizadas para almenar los datos de una noticia var año:String; var titulo:String; var tecnica:String; var dimension:String; var precio:String; var imagen:String; //Recuperando datos del objeto xml //Se accede al primer elemento [noticia] y se recupera la fecha desde el atributo [año] año = noticias_xml.firstChild.childNodes[_indice].attributes.año; //Se accede al primer hijo de elemento [noticia] y se recupera al valor del primer elemento de [titulo] titulo = noticias_xml.firstChild.childNodes[_indice].firstChild.firstChild.nodeValue; //Se accede al segundo hijo de elemento [noticia] y se recupera el valor del primer elemento de [tecnica] tecnica = noticias_xml.firstChild.childNodes[_indice].firstChild.nextSibling.firstChild.nodeValue //Se accede al tercer hijo de elemento [noticia] y se recupera el valor del primer elemento de [dimension] dimension = noticias_xml.firstChild.childNodes[_indice].firstChild.nextSibling.nextSibling.firstChild.nodeValue //Se accede al cuarto hijo de elemento [noticia] y se recupera el valor del primer elemento de [precio] precio = noticias_xml.firstChild.childNodes[_indice].firstChild.nextSibling.nextSibling.nextSibling.firstChild.nodeValue //Se accede al último hijo de elemento [noticia] y se recupera el valor del primer elemento de [imagen] imagen = noticias_xml.firstChild.childNodes[_indice].lastChild.firstChild.nodeValue //Mostrando los datos recuperados en el cuado de texto mensaje_txt y cargando la imagen en pantalla_mc _root.mensaje_txt.htmlText = ""; _root.mensaje_txt.htmlText += "<p align='left'><font color='#CECFCE' size='11'><b><font color='#FF9900'><p align='left'>TÍTULO:</p></font>" + titulo + "</b></font></p>"; _root.mensaje_txt.htmlText += "<p align='left'><font color='#CECFCE' size='11'><b><font color='#FF9900'><p align='left'>TÉCNICA:</p></font>" + tecnica + "</b></font></p>"; _root.mensaje_txt.htmlText += "<p align='left'><font color='#CECFCE' size='11'><b><font color='#FF9900'><p align='left'>DIMENSIÓN:</p></font>" + dimension + "</b></font></p>"; _root.mensaje_txt.htmlText += "<p align='left'><font color='#CECFCE' size='11'><b><font color='#FF9900'><p align='left'>PRECIO:</p></font>" + precio + "</b></font></p>"; _root.mensaje_txt.htmlText += "<p align='left'><font color='#CECFCE' size='11'><b><font color='#FF9900'><p align='left'>AÑO:</p></font>" + año + "<b></font></p>"; //Cargado la imagen JPG externa en el clip pantalla_mc con el valor recuperado del objeto xml _root.pantalla_mc.loadMovie(imagen) ..(ruta+i+ext, "contenedor"); .. } //Función que permite avanzar a la [noticia] siguiente almacenada en el objeto xml siguiente_btn.onPress = function(){ //comprobando si existe el siguiente elemento [noticia] if(noticias_xml.firstChild.childNodes[indice+1] != null){//retringue a avanzar solo si hay una [noticia] siguiente indice++; //incrementado en uno el indice .. carga.load(indice); loadMovie(ruta+i+ext, "contenedor") .. //recuprando y mostrando los datos y la imagen en la pantalla } } //Función que permite retroceder a la noticia anterior almacenada en el objeto xml anterior_btn.onPress = function(){ //comprobando si existe una elemento [noticia] anterior if(noticias_xml.firstChild.childNodes[indice-1] != null){//retringue a avanzar solo si hay una [noticia] anterior indice--; //reducciendo en uno el indice .. carga.load(indice); loadMovie(ruta+i+ext, "contenedor") .. //recuprando y mostrando los datos y la imagen en la pantalla } } //Inicializaciones indice=0; //inicializando indice en 0 para mostrar la primera noticia //creando el objeto noticias_xml de typo XML noticias_xml = new XML(); //Permite que el objeto XML ignore los espacios en blanco entre marca y marca del documento XML noticias_xml.ignoreWhite = true; //El método load() permite cargar el documento xml "noticias.xml" noticias_xml.load("noticias.xml"); //El evento onLoad de activa cuado se haya cargado el documento noticias.xml noticias_xml.onLoad = function(){ //Se llama a la funcion cragarDatos para mostar la primera noticia (esto por la variable indice en 0) cargarDatos(indice); }
En XML
Código :
<?xml version="1.0" encoding="iso-8859-1"?> <noticias> <noticia año="1998"> <titulo>Autoretrato</titulo> <tecnica>Oleo</tecnica> <dimension>0,98 x 0,50 m</dimension> <precio>S/. 1200.00</precio> <image>nave.jpg</image> </noticia> <noticia año="2005"> <titulo>Mujer en la Cama</titulo> <tecnica>Madera sobre madera</tecnica> <dimension>11,98 x 2,50 m</dimension> <precio>S/. 4500.00</precio> <image>vaticano.jpg</image> </noticia> <noticia año="2005"> <titulo>Autoretrato con fondo morado</titulo> <tecnica>Oleo sobre Lienzo</tecnica> <dimension>5,83 x 1,47 cm</dimension> <precio>S/. 3200.00</precio> <image>intel.jpg</image> </noticia> <noticia año="2005"> <titulo>Retrato José Rojas Vásquez</titulo> <tecnica>Técnica mixta sobre madera</tecnica> <dimension>4,00 x 9,04 cm</dimension> <precio>S/. 400.00</precio> <image>nave.jpg</image> </noticia> </noticias>

Revise algunos post del mismo Cristalab para resolver estas dos cosas, pero no halle nada parecido al actionscript q uso como base; puesto q lo q aprendi hasta ahora d flash fue por comparacion (comparo un codigo con otro, los uno, los manipulo y asumo q codigo sirve para tal cosa - o tal vez es pura suerte); pero con esto es distinto pues no e logrado nada aun, asi q pido socorro a algun buen samaritano, ke llevo - como dije - mas d un mes en esto
PD: el punto negro d la imagen es porq le puse el codigo html li /li, eso se resolverlo.