Ahora queria pedirles ayuda para solucionar un problema con una galeria.
Resulta que cargo un XML, y en el tengo, como datos, destino y thumb, ambas direcciones a fotografias en el servidor. Realizo la carga de los thumb de imagenes, y todo bien hasta ahi, pero quiero q al hacer clic en cada una, se abra la foto respectiva, como lo indicaba en el XML.
XML (Bien sensillo):
<album>
<foto destino="fotos/events-b_13.jpg" thumb="fotos/thumb_events-b_13.jpg"/>
<foto destino="fotos/events-b_12.jpg" thumb="fotos/thumb_events-b_12.jpg"/>
</album>
El probelma es q todas las fotos abren el mismo archivo, es decir, una imagen deberia abrir events-b_13 y la otra events-b_12 respectivamente, pero al hacer clic en los thumnaild, ambos abren la ultima imagen q figura en el XML, en este caso: events-b_12.jpg.
Aqui les dejo el codigo que escribi:
Código ActionScript :
//Veo los nodos q voy a necesitar para cargar la info var fotoNodo:XMLNode; var nodosGaleria:XMLNode; //Cargo una estructura XML var galeriaXml:XML = new XML(); galeriaXml.ignoreWhite = true; galeriaXml.load("pruebafotos.xml"); galeriaXml.onLoad = cargarfotos; function cargarfotos():Void { //Ahora empiezo a cargar los eventos de un dia cantidad = galeriaXml.firstChild.childNodes.length; //Creo la pelicula que va a cargar las fotos _root.createEmptyMovieClip("mcfotos",_root.getNextHighestDepth()); _root.mcfotos.createEmptyMovieClip("lasfotos",_root.getNextHighestDepth()); eval("_root.mcfotos")._y = 242.7; eval("_root.mcfotos")._x = 469.1; if (cantidad != undefined) { i = 0;//Esta es la que me devuelve la cantidad de fotos q voy colocando c = 0;// Cantidad de columnas f = 0;//Cantidad de filas fotoNodo = galeriaXml.firstChild.firstChild; //Aqui recorro el dia buscando los eventos while (i<cantidad) { //Cargo las imagenes _root.mcfotos.lasfotos.attachMovie("thumb_foto","thumb_foto"+i,_root.mcfotos.lasfotos.getNextHighestDepth()); eval("_root.mcfotos.lasfotos.thumb_foto"+i).createEmptyMovieClip("foto",10); eval("_root.mcfotos.lasfotos.thumb_foto"+i+".foto").loadMovie(fotoNodo.attributes.thumb); dirdefoto = fotoNodo.attributes.destino; //Ahora cargo el evento para el evento :P fotoev = new Object(); fotoev.onRelease = function(evento){ if (_root.lafoto) {_root.removeMovieClip(lafoto);} _root.createEmptyMovieClip("lafoto",_root.getNextHighestDepth()); _root.lafoto.loadMovie(dirdefoto); _root.lafoto._x = 100; _root.lafoto._y = 261; _root.lafoto._rotation = -10; }; //Cargo el evento eval("_root.mcfotos.lasfotos.thumb_foto"+i).onRelease = fotoev.onRelease; if (c>=3) { c = 0; f = f+1; } //Ahora debo moverlo, para posicionarlo donde corresponde eval("_root.mcfotos.lasfotos.thumb_foto"+i)._y = (f*77); eval("_root.mcfotos.lasfotos.thumb_foto"+i)._x = (c*83); c = c+1; fotoNodo = fotoNodo.nextSibling; i = i+1; }//Fin del while }//Fin de si cantidad era distinto de undefined }
Desde ya muchas Gracias por su Atencion! y espero puedan ayudarme!
Saludos!