Tengo una duda que me desconcierta, me tiene varias horas haciendo pruebas y buscando por la web y no consigo resolver. Quedo muy agradecido de antemano a quien me pueda ayudar:
Estoy haciendo una galería e imágenes, la idea es que cada imagen, una vez descargada se ajuste en la pantalla en función de sus dimensiones originales. Para ello he hecho una función de carga, donde se comprueba si la imgen se descargó por completo y si es así pasa a otra función que se encarga de ajustar la imagen en pantalla.
La cosa funciona bien cuando lo pruebo con una sola imagen, da igual si es la primera o la quinta: va a su posición en pantalla y devuelve sus dimensiones (alto) para poder hacer un ajuste de posición _y.
El problema viene cuando intento que se descarguen todas las imágenes seguidas llamando a la funcin varias veces. Entonces las imágenes se sobreponen unas a otras y no se ajustan en tamaño, es decir, se descargan ignorando la función:
Este es el código de las dos funciones:
Código HTML:
numfotos = 3; function sacaFotos(img) { var qPeli:String = "galeria/foto"+img+".jpg"; createEmptyMovieClip("holder"+img, this.getNextHighestDepth()); eval("holder"+img).loadMovie(qPeli); controler.onEnterFrame = function() { var cargados:Number = eval("holder"+img).getBytesLoaded(); var total:Number = eval("holder"+img).getBytesTotal(); trace(cargados+" de "+total); if (cargados != 0 and cargados == total) { ajustaFotos(img); controler.onEnterFrame = null; cargados = 0; } }; } function ajustaFotos(img) { lafoto = eval("holder"+img); lafoto._visible = true; lafoto._x = 125*img+20; lafoto._xscale = 25; lafoto._yscale = 25; trace(lafoto._height); sacaFotos(img+1); } sacaFotos(1);
He probado también a llamar a la función que muestra las fotos con un bucle, de esta forma:
Código HTML:
function repiteFoto() { for (i=1; i<=numfotos; i++) { sacaFotos(i); } } repiteFoto();
Gracias por la atención