Foros del Web » Creando para Internet » Flash y Actionscript »

Precarga con Componente Loader

Estas en el tema de Precarga con Componente Loader en el foro de Flash y Actionscript en Foros del Web. Hola a todos y gracias por la bienvenida. Hace un tiempo inicié una web en flash AS2, en la que, por motivos de peso, iba ...
  #1 (permalink)  
Antiguo 03/09/2010, 00:59
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 11 años, 3 meses
Puntos: 0
De acuerdo Precarga con Componente Loader

Hola a todos y gracias por la bienvenida.

Hace un tiempo inicié una web en flash AS2, en la que, por motivos de peso, iba cargando JPG's externos mediante el componente Loader. Todo corre perfectamente, pero en ocasiones se demora un poco en cargar los JPG's y la película SWF aparece con espacios vacíos. Entonces me gustaría saber cómo activar una precarga mientras las imágenes se van cargando en el Loader, quiero decir una mini-precarga por cada imagen.

Aquí les dejo la web a ver qué opinan: http://www.knock.com.pe
Revisen las secciones dentro de "Servicios".

Muchas gracias!
  #2 (permalink)  
Antiguo 03/09/2010, 07:18
Avatar de Turdo  
Fecha de Ingreso: julio-2005
Ubicación: .:Guadalajara:.
Mensajes: 398
Antigüedad: 16 años, 4 meses
Puntos: 23
Respuesta: Precarga con Componente Loader

Bienvenido amigo!

Te paso un tip que me ha resuelto la vida por así decirlo.

Dentro del mc donde cargas tus imagenes crea un nuevo mc que cargara las imagenes, despues crea un textField a la altura del mc del nuevo mc.

Gerarquía:
mc.mcnuevo
mc.texto

Agrega un listener a tu loader:

Código ActionScript:
Ver original
  1. var tuloader:MovieClipLoader = new MovieClipLoader;
  2. var carga:Object = new Object;
  3. carga.onLoadProgress = function(mc:MovieClip, bc:Number, bt:Number):Void{
  4.     var imagen:MovieClip = mc._parent;
  5.     var porciento:Number = Math.round((bc/bt)*100);
  6.     imagen.texto.text = porciento;
  7. };
  8. tuloader.addListener(carga);
  9. tuloader.loadClip("imagen.jpg",mc.mcnuevo);

Bueno espero te sea de ayuda que para mi fue como el santo grial.
__________________
Un buen programa depende de la imaginación.
  #3 (permalink)  
Antiguo 03/09/2010, 10:23
 
Fecha de Ingreso: septiembre-2010
Mensajes: 5
Antigüedad: 11 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Precarga con Componente Loader

Hola Turdo! Mil gracias por la ayuda.

Hay algo que no comprendo: Mi componente Loader está dentro de un mc. Lo que he hecho es abrir ese mc y darle clic derecho al loader para volver a convertirlo en mc. Hasta ahí todo bien. A qué nivel de profundidad debe ir el textField? dentro del último mc o fuera? y debe ser texto dinámico o estático? Otra cosa: por qué señalas el texto como un mc? debo convertirlo a mc?

Te pediría que me ayudes siendo un poco más específico.

Muchas gracias!
  #4 (permalink)  
Antiguo 03/09/2010, 12:36
Avatar de Turdo  
Fecha de Ingreso: julio-2005
Ubicación: .:Guadalajara:.
Mensajes: 398
Antigüedad: 16 años, 4 meses
Puntos: 23
Respuesta: Precarga con Componente Loader

jaja Perdon amigo. Como que todavia estaba dormido cuando te escribi. E hice el codigo para tu prorio loader

Debe de haber 3 objetos instanciados:
mc: es el nombre de instancia que tiene a los otros 2 ojetos.
br: es una barra pequeña que servira como animacion, esta la puedes dibujar.
comp: es el componente loader.

Tanto br como copm estan a la misma altura
El textField lo creamos dinamicamente dentro de mc
Si te fijas bien el script no ha cambiado mucho.
Código ActionScript:
Ver original
  1. mc.createTextField("texto",1,50,50,60,20);
  2. mc.br._xscale = 0;
  3. var tuloader:MovieClipLoader = new MovieClipLoader;
  4. var carga:Object = new Object;
  5. carga.onLoadProgress = function(mc1:MovieClip, bc:Number, bt:Number):Void{
  6.     var porciento:Number = Math.round((bc/bt)*100);
  7.     mc.br._xscale = porciento;
  8.     mc.texto.text = porciento;
  9.     trace(porciento);
  10. };
  11. tuloader.addListener(carga);
  12. tuloader.loadClip("imagen.jpg",mc.comp);

A hora si en el panel de inspector de componentes cargaste las imagen, debes de quitar la ruta.

Este seria la gerarquía:
mc --comp
| |
| texto
|
br

Dentro de mc estan todos.

De esta misma forma puedes crear un loader sin nececodad del componente. y asi tu pelicula pesara menos.
__________________
Un buen programa depende de la imaginación.

Etiquetas: actionscript2, as2, componente, flash, loader, precarga
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:25.