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!
