Comunidad de diseño web y desarrollo en internet online

Problemas con bucle en carga de imagenes.

Citar            
MensajeEscrito el 13 Abr 2009 08:40 pm
Saludos estoy haciendo una galería donde primero creo 6 fotos previas y que al pinchar sobre una de ellas, cree una foto grande y que cargue esa misma foto pero en grande, lo hago de la siguiente manera:

Código :

for(i = 0; i < 6; i++){
    crearPrevias();
}

function crearPrevias() {
   var fotoP:MovieClip = lienzo_previas.createEmptyMovieClip("fotoP_" + i, i);
   var mclP:MovieClipLoader = new MovieClipLoader();
   var listenerP:Object = new Object();

   mclP.addListener(listenerP);
   mclP.loadClip(rutaPrevias + i + ".jpg", fotoP);

   listenerP.onLoadInit = function(target_mc:MovieClip) {
      target_mc.onPress = function() {
         verFotoGrande(i);
      }
   };
}

function verFotoGrande(num:Number) {
   var fotoG:MovieClip = _root.createEmptyMovieClip("fotoG_" + i, i);
   var mclG:MovieClipLoader = new MovieClipLoader();
   var listenerG:Object = new Object();

   mclG.addListener(listenerG); 
   mclG.loadClip(rutaGrandes + num + ".jpg", fotoG);
}


El problema es que cuando hago click sobre la previa que quiero ver en grande, el bucle ya ha llegado a su fin, no encuentro la forma de poder hacer referencia a previa que me gustaría visualizar en grande, espero que puedan ayudarme, un saludo y gracias de antemano!

Por RM13

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Abr 2009 11:48 am
En este comando, el i siempre equivale al último (es decir a 6 en tu caso)

verFotoGrande(i);

Lo que tienes que hacer es crear una referencia a i en el contenedor. Y dado que en el contenedor estás cargando una foto, eso borrará el valor de i. Entonces tienes que hacer un contenedor interno para cargar la foto, en el externo copias el valor de i y le das el onPress ... y eso lo puedes hacer en un solo loop sin usar el MovieClipLoader (que necesitas ahora para poder asignar el onPress)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Abr 2009 12:54 pm
Hola solisarg, gracias por tu ayuda, recién he empezado con as2 y flash y todavía estoy muy verde, este ejemplo de la galería es hecho por otro y adaptado a mi proyecto con los conocimientos de programación que poseo, sabrías ponerme un ejemplo sencillo de lo que me has explicado y yo lo adapto a mi proyecto? muchas gracias.

Por RM13

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Abr 2009 01:21 pm
Algo así:

Código ActionScript :

for(i = 0; i < 6; i++){
    crearPrevias(i);
}
function crearPrevias(nr) {
   var fotoP:MovieClip = lienzo_previas.createEmptyMovieClip("fotoP_" + nr, nr);
   fotoP.nr = nr
   var holder:MovieClip = fotoP.createEmptyMovieClip("holder", 1);
   holder.loadMovie(rutaPrevias + nr + ".jpg", fotoP);
   fotoP.onPress = function() {
         verFotoGrande(this.nr);
   };
}
.....


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Abr 2009 02:52 pm
Va perfecto 1 millón de gracias Jorge ^^

Por RM13

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Abr 2009 12:37 pm
Hola rm 13 podrias colgar un ejemplo de la galeria? o si me podriais dar una referencia de donde encontrrar una parecida? yo concretamente estoy buscando una en la que pueda poner una descripcion o comentar la foto de forma un tanto extensa unas 15 lineas de 25-30 caracteres como mucho. os lo agradeceria mucho. Saludos!

Por Armas

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.