Precargador en Flash

Imprimir

En esta oportunidad hablaremos de un precargador hecho en Flash, lo explicaremos detalladamente para que lo entiendan. La idea de un precargador es informarle al usuario el porcentaje actual que se esta descargando nuestro flash. Esto es muy √ļtil para que el usuario conozca que nuestra p√°gina se esta descargando.

El primer paso es crear en el primer frame de nuestro proyecto flash 3 objetos: 

precarga.gif

En los siguientes frames podemos colocar todos los elementos que deseamos, estos formarán parte de nuestra película que deseamos precargar. En nuestro ejemplo hemos colocado una imagen en el segundo frame. Entonces lo que deseamos hacer es que se muestre una barra de progreso mientras se esta descargando el archivo y una vez completada la descarga recién mostramos el contenido de nuestra película.

Lo primero que hacemos es detener la pel√≠cula en el primer frame. Luego tenemos que ir verificando a cada instante el porcentaje de carga que se tiene actualmente, ¬Ņpero como verificamos a cada instante?, para ello utilizamos la funci√≥n onEnterFrame la cual se ejecuta repetidas veces para un determinado MovieClip. En nuestro caso utilizaremos el MovieClip llamado loader para verificar el estado de la descarga.

  1. stop();
  2. loader.onEnterFrame = function() {
  3.    // funciones para verificar la carga
  4. }

Hasta este punto ya podemos verificar a cada momento el estado de la carga. Entonces es hora de utilizar las propiedades getBytesTotal que nos devuelve el total de Bytes de la película que estamos descargando y getBytesLoaded que nos devuelve la cantidad de Bytes descargados hasta el momento. Entonces con una regla de tres simple podemos calcular el el porcentaje de descarga.

  1. stop();
  2. loader.onEnterFrame = function() {
  3.     var vtotal:Number = _root.getBytesTotal();
  4.     var vcarga:Number = _root.getBytesLoaded();
  5.     var vporce:Number = Math.round(vcarga*100/vtotal);
  6. }

 

Luego para finalizar, escribimos el porcentaje calculado en nuestro campo de texto y además escalamos el MovieClip llamado loader en el porcentaje recién calculado, esto utilizando la propiedad _xscale. Adicionalmente verificamos que si el total de bytes cargados es mayor o igual al total de bytes de la película entonces nuestra película ya estaría completamente descargada por lo tanto eliminamos el onEnterframe y reproducimos nuestra película, en nuestro caso vamos al frame 2 donde se encuentra la imagen que deseamos mostrar.

  1. stop();
  2. loader.onEnterFrame = function() {
  3.     var vtotal:Number = _root.getBytesTotal();
  4.     var vcarga:Number = _root.getBytesLoaded();
  5.     var vporce:Number = Math.round(vcarga*100/vtotal);
  6.     txtloader.text = vporce + "%";
  7.     loader._xscale = vporce;
  8.    
  9.     if (vcarga>= vtotal) {
  10.         delete this.onEnterFrame;
  11.         gotoAndStop(2);
  12.     }
  13. }

 

El resultado es nuestro precargador terminado.