Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/07/2010, 00:34
ayudaflash
 
Fecha de Ingreso: junio-2010
Mensajes: 31
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: precarga onLoadStart / onLoadProgress / onLoadComplete

Muchas gracias evo_it.

No lo he podido probar ya que me da un error:

en: trace ("Inicia la carga del archivo");
me pone el error "el operador "=" debe ir seguido de un operando"

y en: target_mc.starTimer = getTimer ();
me pone "Error de sintaxis".

He visto que este código se repite, cual puede ser el error?


No se si sera un error mio o del código yo utilizo actionScript 2.0.

Según tu código he hecho lo siguiente, he creado un mc vacio que es donde colocará el .swf externo y he creado un movieclip que sería la precarga, les he llamado image_mc y target_mc.

He sustituido la ruta "http://www.helpexamples.com/flash/images/image1.jpg" por "Galerias/Espacios/Vizcaya.swf". No he realizado ningún cambio más, copio el código por si puedes echarle un vistazo, que seguro que hago algo mal, el .swf que quiero que se realice la precarga es Vizcaya.swf.


//En este ejemplo lo que se carga es una imagen, pero es igual para un SWF
// aquí creamos un movieClip vacío que contenga la imagen
this.createEmptyMovieClip ("image_mc", this.getNextHighestDepth ());
//aquí creamos un objeto "escuchador" que está atento a los eventos para detectar el inicio y fin de la carga
var mclListener:Object = new Object ();
//aquí establecemos qué queremos ejecutar al iniciar la carga
mclListener.onLoadStart = function (target_mc:MovieClip)
{
* * trace ("Inicia la carga del archivo");
* * target_mc.startTimer = getTimer ();
};
// Se invoca cada vez que se graba en el disco duro el contenido durante el proceso de carga (es decir, entre MovieClipLoader.onLoadStart y MovieClipLoader.onLoadComplete).
mclListener.onLoadProgress = function (target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number)
{
* * trace (target_mc + ".onLoadProgress with " + bytesLoaded + " bytes of " + bytesTotal);
};
//aquí establecemos qué queremos ejecutar al finalizar la carga
mclListener.onLoadComplete = function (target_mc:MovieClip)
{
* * trace ("Termina la carga del archivo");
* * target_mc.completeTimer = getTimer ();
};
//El evento onLoadInit se invoca cuando se han ejecutado las acciones del primer fotograma del clip cargado
mclListener.onLoadInit = function (target_mc:MovieClip)
{
* * //recién aquí podrás setear las propiedades del clip cargado
* * trace ("El clip ahora sí está listo para ser usado");
* * var timerMS:Number = target_mc.completeTimer - target_mc.startTimer;
* * target_mc.createTextField ("timer_txt", target_mc.getNextHighestDepth (), 0, target_mc._height, target_mc._width, 22);
* * target_mc.timer_txt.text = "loaded in " + timerMS + " ms.";
};
//creamos un objeto del tipo MovieClipLoader, como el nombre lo indica lo usamo para cargar los MovieClips
var image_mcl:MovieClipLoader = new MovieClipLoader ();
//aquí le decimos a AS que el MovieClipLoader llamado "image_mcl" será "escuchado" por el objeto "mclListener"
image_mcl.addListener (mclListener);
//finalmente cargamos nuestro clip en el movieClip vació que creamos al inicio que se llamaba "image_mc"
image_mcl.loadClip ("Galerias/Espacios/Vizcaya.swf", image_mc);



Muchas gracias de nuevo.