Código ActionScript :
function crearMiniatura(columnaF:Number, filaF:Number, ruta:String) { // bajo_clip es el clip que contendrá el marco de la miniatura var bajo_clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("bajo_"+filaF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth()); // clip contendrá la imagen var clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("foto_"+filaF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth()); // para cargar la miniatura definimos un objeto MovieClipLoader // y un objeto detector de eventos var mi_mcl:MovieClipLoader = new MovieClipLoader(); var miListener:Object = new Object(); mi_mcl.addListener(miListener); clip.valor = "aaa"; // cargamos la imagen mi_mcl.loadClip("backstage/"+ruta, clip); miListener.onLoadStart = function(target_mc:MovieClip) { // cuando comienza la carga de la imagen // ponemos al _alpha a 0 target_mc._alpha = 0; }; miListener.onLoadStart = function(target_mc) { //trace("Iniciando"); //Colocamos la barra de precarga en el escenario con el nombre "barra_mc" _parent.menu_mc.attachMovie("barra", "barra_mc", _root.getNextHighestDepth()); //Ubicamos la barra en la mitad del escenario _parent.menu_mc.barra_mc._y = 383; _parent.menu_mc.barra_mc._x = 397; //Y nuestra barra esta lista para moverse en el evento onLoadProgress }; miListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) { var porcentaje:Number; //Calculamos el porcentaje con las variables que le llegan por parametro a la función porcentaje = Math.round((loadedBytes*100)/totalBytes); //Asigna al campo de texto porcentaje_txt el porcentaje cargado _parent.menu_mc.barra_mc.num_mc.porcentaje_txt.text = porcentaje + " %"; //Vamos al frame del porcentaje en nuestra barra de carga _parent.menu_mc.barra_mc.gotoAndStop(porcentaje); //Ahora escondemos el objeto de la precarga y lo frenamos target_mc._visible = false; target_mc.stop(); }; //Función onLoadComplete miListener.onLoadComplete = function(target_mc) { //trace("ya"); //Como ya cargo completo, entonces quitamos la barra _parent.menu_mc.barra_mc.removeMovieClip(); //Y mostramos el objeto target_mc._visible = true; target_mc.play(); }; // cuando ya se ha completado la carga y tenemos disponible el clip miListener.onLoadInit = function(target_mc:MovieClip) { // recolocamos la imagen (todavía está oculta, con _alpha=0) target_mc._x = (separacion*columnaF)+(100-target_mc._width)*0.5; target_mc._y = (separacion*filaF)+(100-target_mc._height)*0.5; // recolocamos el marco que rodea a la foto bajo_clip._x = target_mc._x-5; bajo_clip._y = target_mc._y-5; // dibujamos el marco /* with (bajo_clip) { beginFill(0xffffff); lineStyle(1, 0xEEEEEE, 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(); } */ // muestro la miniatura animando el _alpha hasta 100 var myTween:Tween = new Tween(target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true); }; }
Gracias... salute. Emiliano