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

Precarga No Funciona

Estas en el tema de Precarga No Funciona en el foro de Flash y Actionscript en Foros del Web. Hola, tengo un pequeno problemita y la verdad es que no entiendo porque no me funciona. Tengo generado un .swf, el clasico "libro flash" ese ...
  #1 (permalink)  
Antiguo 14/04/2008, 14:36
 
Fecha de Ingreso: junio-2007
Mensajes: 8
Antigüedad: 16 años, 10 meses
Puntos: 0
Precarga No Funciona

Hola, tengo un pequeno problemita y la verdad es que no entiendo porque no me funciona. Tengo generado un .swf, el clasico "libro flash" ese que funciona como si fuese un libro de verdad, y le he querido agregar un preloader, ya que el libro tiene como 30 paginas con imagenes y es realmente pesado.
Lo que he hecho es lo siguiente:
1) utilizo 2 escenas.
en la escena 1, utilizo un preloader clasico, conocidos por todos, he aqui el codigo:

Código:
totalBytes = Math.round(getBytesTotal() / 1024);
loadedBytes = Math.round(getBytesLoaded() / 1024);
percentDone = Math.round((loadedBytes / totalBytes) * 100);
if (_root._framesloaded >= _root._totalframes)
{
	gotoAndPlay("start");
}
Y en la escena 2, ovbiamente esta el libro en si, y cuyo primer fotograma lo demonime "start".

El book.swf lo traigo a mi pelicula principal utilizando el clasico loadMovie, en un mc creado con AS, he aqui el code:

Código:
on (press) {
	clip_mc = this.createEmptyMovieClip("holder", 1);
	clip_mc._x = 350;
	clip_mc._y = -50;
	clip_mc.loadMovie("book.swf");
}
No me funciona. Cuando hago click sore el boton para llamar a la peli book.swf, aparece la pantalla en negro, y despues de un rato, aparece directamente el libro, sin haber mostrado el progreso del preloader.

Alguna sugerencia??
Saludos!
  #2 (permalink)  
Antiguo 14/04/2008, 15:24
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Precarga No Funciona

A ver si te he entendido bien, la precarga está en un Flash que luego llama al tal book.swf ??

Si es así, tienes que hacer la precarga dentro de book.swf, o manipulando el movieclip donde lo cargas, ya que el book.swf no va incluido dentro del primero.

Un saludo.
  #3 (permalink)  
Antiguo 15/04/2008, 09:10
 
Fecha de Ingreso: septiembre-2007
Mensajes: 4
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Precarga No Funciona

Con mis alumnos me he encontrado algún problema creo que parecido. En parte te pasa algo que les pasa mucho a ellos y es "la complicación por la complicación"

Me explico, si quieres trabajar con el preloader mediante escenas, lo más fácil es que lo incluyas como escena1 dentro de la película book.fla y te dejes de cargas extrañas, porque al superponer las cargas tienden a fallar los preloader

Ahora bien, cuando hagas el gotoAndPlay tendrás que especificar también la escena además del fotograma, por ejemplo:

Tienes una escena1 con la precarga, el % de carga,... y el código:

Código:
totalBytes = Math.round(getBytesTotal() / 1024);
loadedBytes = Math.round(getBytesLoaded() / 1024);
percentDone = Math.round((loadedBytes / totalBytes) * 100);
if (_root._framesloaded >= _root._totalframes)
{
	gotoAndPlay("escena2", "start");
}
Y en la escena2 está el libro

No obstante, si he comprendido bien el caso, el problema puede estar en no incluir el nombre de la escena donde está el fotograma "start", por si no quieres cambiar más cosas

Espero haberte ayudado. Un saludo
  #4 (permalink)  
Antiguo 15/04/2008, 11:04
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Re: Precarga No Funciona

Hola anibal.vallejos:
Si tú pones un preloader en la película principal y quieres ver el proceso de la precarga al cargar book.swf, con loadMovie(), desde un botón en la escena 2, no va a funcionar, porque ese preloader verificará los bytes que pesa tu película principal y no así al de book.swf.
Puedes hacer 2 cosas:
1.- Mueve un frame a la derecha todos las capas de la película book.swf y allí coloca un preloader.
2.- Si quieres usar 2 escenas en la película book.swf, crea otra escena y allí en el primer frame coloca un preloader y ésta escena la pones en primer lugar.
Ejemplo para un preloader.
Creamos un MC que lo llamaremos loader y en la capa 1 frame 1 colocamos un campo de texto dinámico con var: per_out.
En la capa 2 frame 1 dibujamos un rectángulo de 100 x 10 y lo convertimos en MC cuidando que éste en las coordenads X = 0 e Y = -5 y le ponemos como nombre de instancia: barra.
El MC loader lo ponemos en el escenario y le colocamos éste código:
onClipEvent (load) {
barw = barra._width/100;
}
onClipEvent (enterFrame) {
movieClip_a_cargar = _parent;
bl = movieClip_a_cargar.getBytesLoaded();
bt = movieClip_a_cargar.getBytesTotal();
per = int((bl/bt)*100);
barra._width = per*barw;
if (per == 100) {
_parent.gotoAndPlay("start");
}
per_out = per+"%";
}
En el primer frame de la escena que contiene el libo le ponemos la etiqueta start.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
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:37.