Antes que nada, necesario decir dos cosas: la primera, que estoy estudiando seriamente a rpogramar con AS2, así que sus aportes serán todos bienvenidos. La segunda, derivada de la anterior, es que como proyecto de estudio quiero desarrollar una galería dinámica de fotos que no utilice XML, precisamente porque quiero aprender de a poco y tener conceptos claros, antes de meterme en mayores complejidades. Adicionalmente, quisiera que este proyecto funcione desde un CD, porque será mi portafolio personal.
Con esta aclaración describo mi duda:
La idea es tener una serie de carpetas donde estén contenidas las fotos, por supuesto en el mismo directorio donde está la película principal:
- Directorio raíz:
home.swf
- Carpetapersonas
- SubCarpeta "Thumbs" (para las miniaturas)
- carpetaGrandes (para las fotos a mejor tamaño)
El código va así:
Código:
Hasta aquí las miniaturas se cargan perfecto, mi problema inmediato ahora es cómo asignar la ruta de la imagen grande a cada uno de los botones que se han creado. //variables de inicialización var numFotos: Number = 5; //cantidad de fotos máxima + 1 var nombreThumb:String ="foto"; //nombre generico de las miniaturas var nombreFoto:String = "persona"; //nombre genérico de las fotos var ext:String = ".png"; //extensión de fotos y miniaturas var carpetaThumb:String = "personas/thumbs/"; // ruta de miniaturas var carpetaFotos:String = "personas/grandes/"; // ruta de fotos grandes var rutaThumb:Array = new Array(); //array var rutaFoto:Array = new Array(); var col:Number = 2; //columnas a mostrar var fil:Number = Math.floor(numFotos/col); //total de filas var posX:Number = 5; //inicializa la posX de las miniaturas var posY:Number = 5; // igual para posY var maxX:Number = 0; // diferencial de posX //Aquí inicio el bucle para cargar las fotos y creo el array de las rutas tanto de los Thumb como de las fotos grandes for (i=0; i<numFotos; i++) { var boton_mc:MovieClip = mc.duplicateMovieClip("mc"+i, i); boton_mc._x = (80*maxX)+posX; boton_mc._y = posY; rutaThumb[i] = (carpetaThumb+nombreThumb+i+ext); rutaFoto[i] = (carpetaFotos+nombreFoto+i+ext); boton_mc.contenedor_mc.loadMovie(rutaThumb[i],i); maxX++; boton_mc.onRelease = function() { cargaFoto(); }; if (maxX == col) { maxX = 0; posY = 55+posY; } }
La función cargaFoto la he definido así, pero no funciona:
Código:
Al presionar cualquier miniatura me sale que no localiza el archivo a abrir, lo cual suena lógico, porque el destino que le doy al "loadMovie" es el array completo de las fotos grandes. function cargaFoto() { this.mcFotGrade.loadMovie(rutaFoto, 1); }
En conclusión, la pregunta es: ¿cómo puedo asignar en la función carga foto una dirección específica para cada foto grande y que corresponda con la miniatura sobre la cual estoy dando click.
Espero haber explicado claramente, y de antemano agradezco todos sus aportes y ayudas.
Saludos,