Precargas de archivos externos con Actionscript 2: MovieClipLoader

Precargas de archivos externos con Actionscript 2: MovieClipLoader

Etiquetas: MovieClipLoader onLoadInit onLoadComplete onLoadProgress

En Actionscript 2.0 podemos cargar archivos externos con loadMovie o por medio de un MovieClipLoader. loadMovie es aparentemente mas sencillo de utilizar, pero no da información de ningún tipo sobre el estado de la carga, por lo que si queremos hacer precargas deberemos usar una instancia de MovieClipLoader. Este ejemplo muestra como utilizar este tipo de objetos, y utilizar sus eventos asociados.

  1. var url:String = "foto.jpg";
  2.  
  3. function Cargar(url){
  4.  
  5. 	//Creo una instancia de moviecliploader, que va a "gestionar" la descarga
  6. 	var cargador:MovieClipLoader = new MovieClipLoader();
  7.  
  8. 	//Creo un objeto que voy a añadir a movieClipLoader, y va a servir de "intermediario" para
  9. 	//mostrar la información asociada al cargador
  10. 	var detector:Object = new Object();
  11.  
  12. 	//Se ejecuta durante la carga del archivo, dando información sobre los bytes cargados y totales
  13. 	detector.onLoadProgress = function(clip:MovieClip,bCargados:Number,bTotales:Number):Void{
  14. 		Porcentaje_txt.text = Math.floor(bCargados*100/bTotales) + " % cargado";
  15. 	}
  16.  
  17. 	//Se ejecuta cuando se produce un error al cargar el archivo (la url está mal o el archivo no está disponible)
  18. 	detector.onLoadError = function(clip:MovieClip,bCargados:Number,bTotales:Number):Void{
  19. 		Porcentaje_txt.text = "El archivo no se ha podido cargar";
  20. 	}
  21.  
  22. 	//Se ejecuta cuando se ha cargado el archivo, pero todavia no está disponible para el player
  23. 	detector.onLoadComplete = function(clip:MovieClip){
  24. 		trace("Se ha completado la descarga");
  25. 		trace("Ancho del archivo: " + clip._width); //Devuelve 0
  26. 	}
  27.  
  28. 	/*Esta función se ejecuta cuando ya se ha cargado el archivo y está disponible para su modificación.
  29. 	Por ejemplo, si estamos cargando una foto de la que no sabemos el tamaño,y necesitamos conocerlo cuando carga,
  30. 	habrá que verlo dentro de este evento, ya que antes sus caracteristicas no estarán disponibles. 
  31. 	Por ejemplo, en el evento onLoadComplete, si hacemos un trace(clip._width), nos dará 0 en lugar del ancho del 
  32. 	archivo cargado, ya que sus carácterísticas no estén todavía disponibles para el player*/
  33. 	detector.onLoadInit = function(clip:MovieClip){
  34. 		trace("Se ha completado la descarga y ya está disponible el objeto para el player");
  35. 		trace("Ancho del archivo: " + clip._width); //Devuelve el ancho del archivo cargado
  36. 	}
  37.  
  38. 	//Añado el objeto al cargador
  39. 	cargador.addListener(detector);
  40.  
  41. 	//Cargo el archivo de la url en el clip que quiero por medio de la instancia de MovieClipLoader
  42. 	cargador.loadClip(url,Contenedor_mc);
  43.  
  44. }
  45.  
  46. //Programo el botón para que cargue la foto
  47. Cargar_bt.onRelease = function(){
  48. 	//Llamo a la función que he creado. Añado "?rand=" +Math.random(10000) a la url para que no se cachee el contenido 
  49. 	// que quiero cargar. 
  50. 	Cargar(url + "?rand=" +Math.random(10000));
  51. }
  52.  
  53. //Cargo la primera vez
  54. Cargar(url + "?rand=" +Math.random(10000));

Descargar archivos

Comentarios
    • Autor
    • hector
    hola no le entiendo y no me funciono el codigo fuente saludos
    • Autor
    • hector
    creo que ya lo entendi, pero tengo un problema, por ejemplo si tengo una pelicula b que quiero llamar desde aqui y esta pelicula b se coneta ph a una base de datos mysql no me carga la base de datos y si corro la pelicula b solsa si
    • Autor
    • pablo
    muuy bueno, muchas gracias!!
    • Autor
    • situ
    realmente me ha solucionado un problema que hace tiempo que se me planteaba, llevaba ultimamente metiendole a la cabeza i no lo conseguia. Grácias
    • Autor
    • a
    no me sirve para action script 1.0 flash 6 ...
    • Autor
    • isolfholi
    vitamin c circadium rhythm http://pharmacyrxworld.info/item.php?id=4956&lng=fr&cv=eu malaria pills south africa
    • Autor
    • irrercenurn
    sbar presentation medical case http://pharmacyrxworld.info/item.php?id=162&lng=us&cv=us morning tea spiritual
    • Autor
    • jorge
    compañero excelente tema, y me funciona si pongo en var url:String " una imagen buscada en gooogle por ejemplo". el punto es q yo tengo un video en mi pagina cargado dinamicamente y es a este q necesito q le haga el loading pero si pongo la direccion de pag no funciona, no se me podes guiar. Gracias
    • Autor
    • Script
    claro que no les va a funcionar ese ejemplo si lo dejas como esta ese codigo solo funciona en un servidor pero si quieres que te funcione en flash local solo solo tienen que hacer esto: //cambien por este codigo Cargar_bt.onRelease = function(){ Cargar(url); } //Cargo la primera vez Cargar(url); Resumen: La Razon por la que no funciona a algunos es que el cache marca error en si se esta ejecutando de forma local prueven con el cambio que les que eh hecho y veras que funciona ahora bien proeven ese mismo codigo (EL ORIGINAL) en un servidor y no les dara error bueno saludos a todos cualquier pregunta hechenla Dios les bendiga.
    • Autor
    • Andrey
    Hola... Muchas gracias era justamente lo que andaba buscando Gracias!!
Dejar un comentario
Tu nombre (obligatorio):

E-mail (obligatorio, no se mostrará):

Web:

Comentario: