Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2010, 18:07
Avatar de alfonsoortega
alfonsoortega
 
Fecha de Ingreso: mayo-2003
Ubicación: Bogotá
Mensajes: 54
Antigüedad: 21 años
Puntos: 0
Galería de imágenes SIN XML!!!!!

Amigos y amigas del foro, buena noche a todos:

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:
  1. Directorio raíz:
home.swf
  • Carpetapersonas
    • SubCarpeta "Thumbs" (para las miniaturas)
    • carpetaGrandes (para las fotos a mejor tamaño)
Tengo en el escenario un MovieClip con nombre de instancia "mc" y otro con nombre de instancia "mcFotGrade", el primero se duplica tantas veces como sea necesario para cargar las miniaturas; el segundo, donde se cargarán las fotos grandes, cuando se haga click sobre alguna miniatura.

El código va así:

Código:
//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;
 }
}
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.
La función cargaFoto la he definido así, pero no funciona:

Código:
 
function cargaFoto() {
 this.mcFotGrade.loadMovie(rutaFoto, 1);
}
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.

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,
__________________
Alfonso Ortega