Claro... no lo he puesto antes, pq cómo es algo largo... pero aqui va la función donde está la precarga:
Código :
function verFotoGrande(ruta:String) {
clearInterval(intervaloColor);
// creo el clip donde irá la foto grande en una profundidad fija
// para que se reemplace cada vez que pincho en una miniatura
var grande:MovieClip = createEmptyMovieClip("grande_mc", 2*IMG_array.length+11);
// igual con el clip que contendrá el marco
var bajo_grande:MovieClip = createEmptyMovieClip("bajo_grande_mc", 2*IMG_array.length+10);
// posición vertical fija
grande._y = 180;
grande._x = 380;
// para cargar la foto grnade definimos otro objeto MovieClipLoader
// y otro objeto detector de eventos
var grande_mcl:MovieClipLoader = new MovieClipLoader();
var grandeListener:Object = new Object();
grande_mcl.addListener(grandeListener);
// cargo la foto grande
grande_mcl.loadClip("galeria/bodegones/bigs/"+ruta,grande);
grandeListener.onLoadStart = function(target_mc:MovieClip) {
trace("Iniciando");
//Colocamos la barra de precarga en el escenario con el nombre "barra_mc"
contenedor_mc.attachMovie("barra", "barra_mc", 1);
//Ubicamos la barra en la mitad del escenario
barra_mc._y = Stage.height/2;
barra_mc._x = Stage.width/2;
//Y nuestra barra esta lista para moverse en el evento onLoadProgress
};
grandeListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
trace("En progreso");
//Declaramos la variable de calculo de porcentaje
var porcentaje:Number;
//Calculamos el porcentaje con las variables que le llegan por parametro a la función
porcentaje = Math.round((loadedBytes*100)/totalBytes);
//Vamos al frame del porcentaje en nuestra barra de carga
barra_mc.gotoAndStop(porcentaje);
//Ahora escondemos el objeto de la precarga y lo frenamos
};
grandeListener.onLoadInit = function(target_mc:MovieClip) {
trace("ya");
//Como ya cargo completo, entonces quitamos la barra
contenedor_mc.barra_mc.removeMovieClip();
//Y mostramos el objeto
//ASIGNACIÓN DEL LISTENER AL MOVIECLIPLOADER
//Ahora, todas las funciones que declaramos seran asignadas a
//nuestro MovieClipLoader "precargador_mcl"
// con el code siguiente hago que las fotos grandes se carguen tomando como referencia su centro, y no su esquina superior izqda
target_mc._x = 580-target_mc._width/2;
target_mc._y = 430-target_mc._height/2;
//Sonido para la foto en grande
var sonidoFoto=new Sound();
sonidoFoto.attachSound("foto1");
sonidoFoto.start();
// recolocamos el marco que rodea a la foto grande
bajo_grande._x = target_mc._x-5;
bajo_grande._y = target_mc._y-5;
// dibujamos el marco
with (bajo_grande) {
beginFill(0x000000);
lineStyle(1,0x000000,100);
lineTo(target_mc._width+10,0);
lineTo(target_mc._width+10,target_mc._height+10);
lineTo(0,target_mc._height+10);
lineTo(0,0);
endFill();
}
};
}
En el escenario sólo tengo una instancia del mc contenedor (con nombre de instancia: contenedor_mc) y dentro de la biblioteca la barra de precarga (con el dibujo de 100 frames y su animacion) y nombre de vinculacion "barra" .
Gracias por toda la ayuda, eres muy amable.