Hice una galería de imágenes que carga por medio de XML, ahora lo que necesito (y no he podido hacer) es poner un link a cada imagen cargada, dicho link es diferente según la imagen cargada.
La galería de la que hablo es la que está en http://www.masarquitectura.co/premios/
El código Actionscript que utilicé fue el siguiente:
Código actionscript:
Ver original
function loadXML(loaded) { if (loaded) { xmlNode = this.firstChild; image = []; date = []; description = []; thumbnails = []; total = xmlNode.childNodes.length; for (i = 0; i < total; i++) { image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue; date[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue; description[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue; thumbnails[i] = xmlNode.childNodes[i].childNodes[3].firstChild.nodeValue; thumbnails_fn(i); } firstImage(); } else { content = "file not loaded!"; } } xmlData = new XML(); xmlData.ignoreWhite = true; xmlData.onLoad = loadXML; xmlData.load("images.xml"); ///////////////////////////////////// listen = new Object(); listen.onKeyDown = function() { if (Key.getCode() == Key.LEFT) { prevImage(); } else if (Key.getCode() == Key.RIGHT) { nextImage(); } }; Key.addListener(listen); previous_btn.onRelease = function() { prevImage(); }; next_btn.onRelease = function() { nextImage(); }; ///////////////////////////////////// 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 nextImage() { if (p < (total - 1)) { p++; if (loaded == filesize) { picture._alpha = 0; picture.loadMovie(image[p],1); desc_txt.htmlText = "<font color='#ff0000'>" + date[p] + "</font>" + "<font color='#ffffff'>" + description[p] + "</font>"; picture_num(); } } } function prevImage() { if (p > 0) { p--; picture._alpha = 0; picture.loadMovie(image[p],1); desc_txt.htmlText = "<font color='#ff0000'>" + date[p] + "</font>" + "<font color='#ffffff'>" + description[p] + "</font>"; picture_num(); } } function firstImage() { if (loaded == filesize) { picture._alpha = 0; picture.loadMovie(image[0],1); desc_txt.htmlText = "<font color='#ff0000'>" + date[0] + "</font>" + "<font color='#ffffff'>" + description[0] + "</font>"; picture_num(); } } function picture_num() { current_pos = p + 1; pos_txt.text = current_pos + " / " + total; } function thumbnails_fn(k) { thumbnail_mc.createEmptyMovieClip("t" + k,thumbnail_mc.getNextHighestDepth()); tlistener = new Object(); tlistener.onLoadInit = function(target_mc) { target_mc._x = hit_left._x + (target_mc._width + 5) * k; target_mc.pictureValue = k; target_mc.onRelease = function() { p = this.pictureValue - 1; nextImage(); }; target_mc._alpha = 50; target_mc.onRollOver = function() { this._alpha = 100; thumbNailScroller(); }; target_mc.onRollOut = function() { this._alpha = 50; }; }; image_mcl = new MovieClipLoader(); image_mcl.addListener(tlistener); image_mcl.loadClip(thumbnails[k],"thumbnail_mc.t" + k); }
Y el código del XML es el siguiente:
Código XML:
Ver original
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <images> <pic> <image>fotos/F01.jpg</image> <date>07.08.01</date> <caption> SEGUNDO PUESTO. Concurso de Diseño Arquitectónico Centro Deportivo y Empresarial Calle 53 Colsubsidio. Bogotá, Colombia</caption> <thumbnail>prevs/F01.jpg</thumbnail> </pic> <pic> <image>fotos/F02.jpg</image> <date>06.10.01</date> <caption> PRIMER PUESTO. Concurso de Diseño Arquitectónico Centro de Convenciones y Eventos Hotel Peñalisa Colsubsidio. Municipio de Ricaurte, Colombia </caption> <thumbnail>prevs/F02.jpg</thumbnail> </pic> <pic> <image>fotos/F03.jpg</image> <date>07.04.01</date> <caption> PRIMER PUESTO. Concurso de Diseño Arquitectónico Centro de Convenciones, Eventos y Servicios Hotel Lanceros Colsubsidio y Plan de Zonificación Red de Hoteles. Municipio de Paipa, Colombia</caption> <thumbnail>prevs/F03.jpg</thumbnail> </pic> <pic> <image>fotos/F04.jpg</image> <date>08.11.01</date> <caption> TERCER PUESTO. Concurso de Diseño Arquitectónico Plazoleta Comercial Ciudad del Saber. Panamá</caption> <thumbnail>prevs/F04.jpg</thumbnail> </pic> <pic> <image>fotos/F05.jpg</image> <date>08.11.01</date> <caption> TERCER PUESTO. Concurso de Diseño Arquitectónico Vivienda para Profesores y Estudiantes Ciudad del Saber. Panamá</caption> <thumbnail>prevs/F05.jpg</thumbnail> </pic> <pic> <image>fotos/F06.jpg</image> <date>07.10.01</date> <caption> PRIMER PUESTO. Concurso de Diseño Arquitectónico Edificio para la Sede del Banco GNB Sudameris. Bogotá, Colombia</caption> <thumbnail>prevs/F06.jpg</thumbnail> </pic> <pic> <image>fotos/F07.jpg</image> <date>00.00.00</date> <caption> PRIMER PUESTO. Concurso Privado de Diseño Arquitectónico La Casona. Pance (Valle del Cauca), Colombia</caption> <thumbnail>prevs/F07.jpg</thumbnail> </pic> <pic> <image>fotos/F08.jpg</image> <date>08.08.01</date> <caption> Selección en la Categoría de Diseño Interior para la XXI Bienal de Arquitectura Colombiana. Proyecto: Apartamento El Boquetillo</caption> <thumbnail>prevs/F08.jpg</thumbnail> </pic> </images>