Estoy haciendo una galería, inspirada en una que vi por la web, pero tan solo en su diseño, toda la parte de AS esta hecha por mi.
Ahora bien, intento que mi galería cuente con una pagina donde muestre los "albums" y al presionar sobre uno de estos muestre las "imágenes" que hay dentro de dicho álbum, y lógicamente al presionar en la imagen, que se muestre en grande.
Hasta el momento lo que tengo es la carga de mi archivo XML, con esto ningún problema.
Lo que necesito es que alguien me explique, de que manera genero los thumbs para cada álbum de manera dinámica, y que se muestre uno al lado del otro, lo mismo con las imágenes que están dentro de cada album.
Esto es lo que tengo en AS, puedo garantizar que funciona bien, de hecho le agregue etiquetas a todo el AS así se entiende.
Código ActionScript :
stop(); System.useCodepage = true; _root.albums_mc._visible=false; _root.fotos_mc._visible=false; var num_paginas:Number; var separacion:Number = 116; var pagina_actual:Number = 1; var num_paginas:Number; //Realizamos la carga del XML, creamos los arrays que necesitaremos y los cargamos con la informacion obtenida de nuestro XML var myXML:XML = new XML(); myXML.ignoreWhite=true; myXML.load("images.xml"); trace("XML loaded...100%"); //Crea la funcion que corrovorara si la carga del XML fue sactifactoria myXML.onLoad = function(success) { if (success) { //Indico cual es el NODO principal - <gallery> myImages = this.firstChild; //Obtengo la cantidad de SUBNODOS <images> totalImages = myImages.childNodes.length; //Creamos los arrays donde encontraremos luego toda la informacion que poseemos en el XML //de manera facil. ruta = new Array(totalImages); trace("Array RUTA creado"); rutamini = new Array(totalImages); trace("Array RUTAMINI creado"); nombre = new Array(totalImages); trace("Array NOMBRE creado"); //Sabiendo la cantidad de SUBNODOS <images> //utilizo "for (Valor inicial;Condicion;Proximo Valor)" //para indicarle a FLASH que comience a leer el XML a partir de cada SUBNODO <images> y que obtenga //los valores de los siguientes SubSubNodos <ruta> y <nombre>. for (i=0; i<totalImages; i++) { //indico que los valores de rutaImage los va a obtener del SubSubNodo <ruta> //siendo este el [0], ya que este se encuentra en el primer orden. //con esta sentencia cargamos el ARRAY ruta ruta[i] = myImages.childNodes[i].childNodes[0].firstChild.nodeValue; //con esta sentencia cargamos el ARRAY rutaMini rutamini[i] = myImages.childNodes[i].childNodes[1].firstChild.nodeValue; //con esta sentencia cargamos los ARRAYS nombre nombre[i] = myImages.childNodes[i].childNodes[2].firstChild.nodeValue; } }else{ trace("error al cargar"); } }
Esto es lo que tengo en mi XML, por lo que note debería agregar un nodo mas para indicar, donde comienza un álbum y donde termina.
Lo acorte un poco, ya que se hacia un poco extenso.
Código XML :
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <images> <pic> <image>gallery/1.jpg</image> <thumbnail>gallery/s1.jpg</thumbnail> <caption>Some lamp on the ground</caption> </pic> <pic> <image>gallery/2.jpg</image> <thumbnail>gallery/s2.jpg</thumbnail> <caption>Old communist buildings</caption> </pic> <pic> <image>gallery/3.jpg</image> <thumbnail>gallery/s3.jpg</thumbnail> <caption>Voodoo doll part one</caption> </pic> <pic> <image>gallery/4.jpg</image> <thumbnail>gallery/s4.jpg</thumbnail> <caption>Voodoo doll part two</caption> </pic> <pic> <image>gallery/5.jpg</image> <thumbnail>gallery/s5.jpg</thumbnail> <caption>Red Devil</caption> </pic> <pic> <image>gallery/6.jpg</image> <thumbnail>gallery/s6.jpg</thumbnail> <caption>Russian Church</caption> </pic> </images>
Desde ya se agradece la ayuda que puedan brindarme.