Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/05/2009, 15:38
Pantanico
 
Fecha de Ingreso: marzo-2009
Ubicación: Elda - Alicante
Mensajes: 55
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: preloader en contenedor

Por si los expertos no recuerdan cúal es pongo el código aquí.
(pienso que el bucle es debido a la acción de -set interval y clear interval-, todo lo demás, las instancias, los nombres están hechos igualito al ejemplo)

Capa actions, frame1 del .swf que se carga en el contenedor:
Código:
/* Declaro la función de precarga "cargando", esta función se ejecutara
   todo el tiempo hasta que haya cargado totalmente la pelicula */
function cargando() {
   // Declaración de variables
   var total, cargados, porcentaje;
   // A la variable "total" se le asigna el tamaño de la pelicula en bytes
   total = _root.getBytesTotal();
   // A la variable "cargados" se le asignan el total de bytes hasta el
   //momento descargados de la web
   cargados = _root.getBytesLoaded();
   //Por medio de una regla de tres obtiene el porcentaje cargado y redondea el valor con la función
   //"Math.floor"
   porcentaje = Math.floor((cargados*100)/total);
   //Asigna al campo de texto porcentaje_txt el porcentaje cargado
   porcentaje_txt.text = porcentaje + " %";
   //Mueve la barra de carga al frame correspondiente al porcentaje
   barra_mc.gotoAndStop(porcentaje);
   //Si la cantidad de bytes cargados es igual a la cantidad total de bytes
   if (cargados == total) {
      //Hacer que se deje de ejeuctar esta función
      clearInterval(hiloPrecarga);
      //Iniciar la pelicula
      play();
   }
}

// setInterval nos servira para que la función "cargando" se ejecute cada 1 milisegundo
// Asi, nuestra función revisara constantemente la cantidad de bytes descargados 
// y solo iniciara la pelicula hasta que la descarga termine
// la variable "hiloPrecarga" nos servira para saber que esta corriendo nuestra función
// y frenar su ejecución cada milisegundo por medio de "clearInterval"
var hiloPrecarga = setInterval(cargando, 1);

//Evita que inicie la pelicula
stop();