Comunidad de diseño web y desarrollo en internet online

problema con preload.....!!!

Citar            
MensajeEscrito el 03 Ago 2007 05:10 am
que tal señores, quisiera solicitar su ayuda, tengo una pelicula 1 y dentro de ella llamo una pelicula 2 externa, esta pelicula 2 tiene su propio preload, el problema es que el preload aparece pero aparece de una sola vez en 100% y se queda asi hasta que la pelicula a cargado, osea que no muestra el progreso de la carga, alguien cual es el problema, aqui les dejo los codigos:

codigo de la pelicula 1:

Código :

var precarga:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadInit = function(clip) {
   clip.gotoAndStop(clip._totalframes);
};
precarga.addListener(listener);
//----------------------------------------
precarga.loadClip("djs-bio.swf", main_1);
main_1._x = 0;
main_1._y = 0;
main_1._xscale = 100;
main_1._yscale = 100;

stop();



codigo del cargador de la pelicula 2 (externa):

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();

Por aprendiz_82

66 de clabLevel



Genero:Masculino  

El Salvador

msie
Citar            
MensajeEscrito el 03 Ago 2007 06:40 am
hola que tal aprendiz_82!! al parecer tu problema es que el preloader de la segunda pelicula usa _root y si no cierras el _root lo toma como si fuera el de la pelicula principal, es decir la primera, para evitar esto puedes ya sea cambiar el _root por this o desde la pelicula uno especificar mc_en_donde_carga.lockroot=true;

saludos!!!

Por andres_santos

236 de clabLevel



 

opera
Citar            
MensajeEscrito el 03 Ago 2007 04:17 pm
muchas gracias..... (y)

Por aprendiz_82

66 de clabLevel



Genero:Masculino  

El Salvador

msie

 

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