Comunidad de diseño web y desarrollo en internet online

Precargador en AS3 (sencillisimo)

Citar            
MensajeEscrito el 04 Ene 2008 06:59 pm
Hola a todos, me costo mucho trabajo hacer funcionar un precargador en AS3 por que hay mucha informacion sobre ello y todos te dicen una cosa diferente, y de una manera muy complicada.

Aqui les dejo el codigo para un precargador muy simple hecho en AS3.
Le agradezco a DiegoAzul y a todos los que me axuliaron en los diferentes post que puse, y aqui el resultado final.
/*********************************************************Precargador En AS3*************************************************-
Lo primero es que separaremos en 2 escenas nuestra pelicula, en la escena 1 ira el precargador y en la escena 2 el contenido de nuestra pelicula.

EN la escena 1 creearemos un movie clip que sera nuestra barrita que hara la simulacion de que esta cargando todo, es un movie clip de 100 fotogramas en el fotograma 1 la barrita estara muy pequeña y en el 100 ya en su tamaño final, aplicacamos una interpolacion de forma para que de el efecto de que va aumentando, y le ponemos en otra capa la accion stop();

bueno y el codigo fuera del mc es el siguiente.

stop(); /*este nos detendra en la primera escena*/
function progreso(event:ProgressEvent):void /*la funcion que hara todo lo de la precarga*/
{
var peso:Number=event.bytesTotal;
var carga:Number=event.bytesLoaded;
var porcentaje:Number;
porcentaje=Math.floor((carga*100)/peso);
MovieClip(this).cargador.gotoAndStop(porcentaje);
if(carga==peso)
{
play();
}

}
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS,progreso)
/*********************************************************************************************************************/
Bien ahora explico como funciona, dentro de la funcion creamos 3 variables, se que la declaracion se pudo hacer en una sola linea pero es a manera de que se vea mas facil el codigo, estas 3 variables nos ayudaran a saber que pasa en nuestro precargador.

La variable peso es la que nos dira el tamaño real de nuestra pelicula. para ello le asignamos la funcion event.bytestotal.

La variable carga nos indicara cuanto se ha cargado de nuestra pelicula, para ello le asignamos la funcion event.bytesLoaded.

Y porcentaje nos dira en porcentaje cuanto se ha cargado.

Para sacar el porcentaje utilizamos la funcion Math.floor, esta nos devuelve un numero entero, por aquello de que dieran decimales.

Una vez que sabemos cuanto de porcentaje llevamos, movemos la linea de tiempo del clip que creamos con la barrita, en este caso yo lo llame cargador, y lo movemos al fotograma que sea igual al porcentaje, es decir, si llevamos 10% nuestro mc deberia de estar en el fotograma 10.

Por ultimo hacemos una sentencia if para preguntar si lo que se cargo es igual al total de nuestra pelicula, si es igual pondra play, y pasaremos a la escena siguiente. si no es igual seguira repitiendose el proceso hasta que se complete la carga.

/*******************************************************************************************************/
Agradezco una vez mas a las personas que me ayudaron.

Espero y les sirva, es un precargador muy sencillo, ustedes pueden mejorar su aspecto.

Por alexsauret

Claber

143 de clabLevel

1 tutorial

Genero:Masculino  

Desarrollador WEB

msie7
Citar            
MensajeEscrito el 04 Ene 2008 07:16 pm
Buenas alexsauret, se agradece el trabajo en serio :D me será útil, pero de todas formas creo que ya hay uno hecho en AS3 (por Zguillez): precarga en Actionscript 3

Pero yo creo que seria mejor si lo trabajases con las etiquetas de código y tal y lo mandaras a colaborar en plan tip :wink:

Saludos.

Por Lightwave

100 de clabLevel



 

Hyrule

firefox
Citar            
MensajeEscrito el 04 Ene 2008 11:05 pm
Hola lightwave, el que hizo Zguiellez es muy bueno y mas completo pero por lo mismo es mas complicado, y necesitas mas conocimientos sobre clases etc, este es un poco mas sencillo pero funciona bastante bien, lo hare con lo del codigo que me mencionas, gracias, espero y se te sea de utilidad

Por alexsauret

Claber

143 de clabLevel

1 tutorial

Genero:Masculino  

Desarrollador WEB

msie7
Citar            
MensajeEscrito el 29 Feb 2008 09:41 am
Hola, sabrías decirme por qué se ponen 2 escenas, una para el preload y otra para el contenido??
Es que en mi aplicación lo hago todo desde una escena, y lo que hace es aumentarme el peso del swf... alguien sabe la razón? Estoy buscando y no encuentro respuesta... :|

Por Uruviel

48 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 25 Abr 2008 02:49 am
Hola disculpa por tardar en responder, la unica razon para ponerlo en 2 escenas es por mi estilo de trabajo, como vengo trabajando desde la version 5 de flash, me acostumbre en hacerlo, lo puedes hacer todo en un movieclip y resultara igual. Repito la unica razon para usar o no escenas, es el estilo de trabajo de cada desarrollador, como lo comente en otro post,hay muchas formas de hacer lo mismo y todas igual de validaz, tu usaras con la que te sientas mas comodo.

Por alexsauret

Claber

143 de clabLevel

1 tutorial

Genero:Masculino  

Desarrollador WEB

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.