Comunidad de diseño web y desarrollo en internet online

Precarga dentro de un loader

Citar            
MensajeEscrito el 17 Ene 2010 09:03 pm
Hola que tal?

Esto es acerca de un roblema con un sitio hecho integramente en flash.

Tengo una página principal con un loader. A este loader, a medida que se va navegando, se le cargan diferentes .swf.
Quiero hacerle una barra de precarga a cada swf.
Probé poniéndole al swf "hijo" un preloader en la 1er escena, y funciona bien cuando exporto ESE swf. Pero cuando se carga en el loader del archivo principal, no!. O a veces anda pero me deshabilita todos los botones o formularios que tiene dentro.

Que hagooo? :(

Por p_marinita

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 18 Ene 2010 12:19 am
pon el codigo del preload...

Por checheno

528 de clabLevel

3 tutoriales

 

Mar del Plata - Argentina

firefox
Citar            
MensajeEscrito el 18 Ene 2010 05:58 am
Exacto, siempre que quieras ayuda postea el código que te trae problemas (No tooodo el código, solo la parte).

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 18 Ene 2010 02:40 pm
Ok, es verdad que se me pasó.
Esto es así:

En el fla principal tego 2 escenas: preloader y home.

En preloader tengo una animación básica de texto que indica el porcentaje de carga. En un layer "actions" tengo:

Código ActionScript :

stop();

miIntervalo = setInterval (preloader,100);

function preloader() {
 
   var current = _root.getBytesLoaded();
   var total = _root.getBytesTotal();
   var perc_loaded = Math.round(current/total*100);
   porcentaje_txt.text = perc_loaded;
   porcentaje2_txt.text = perc_loaded;
   porcentaje3_txt.text = perc_loaded;
   porcentaje4_txt.text = perc_loaded;
   
   if (current == total) {
      gotoAndPlay("home",1);
       clearInterval(miIntervalo); 
   }
}
contextMenu = null;


Tengo más de un campo de texto porque así es el diseño, no le presten mayor atención.

Se reproduce "home", que es el inicio de la página, donde al comenzar ya se carga un swf en un loader.
Uso este mismo escenario y este mismo loader (con diferentes nombres de instancia) para cargar diferentes swf.

- Si en un swf externo sigo el mismo procedimiento que utilizo en el archivo principal (creo una escena preloader con el mismo código que puse previamente pero con el if modificado), el swf no se carga en el loader.
- Si en var current y var total pongo _parent en vez de _root, carga, pero no hace el preloader.
- Si uso una progress bar, una vez que carga, la barra no desaparece de la pantalla.

Si es de utilidad comento que en el archivo principal en las propiedades de publicación puse que el ActionScript se exporte en el frame 2.

Creo que eso es todo lo que puedo decir... gracias por respoder ! :)

Por p_marinita

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 18 Ene 2010 03:14 pm
Primero que nada... ¿Por que rayos has puesto la exportación del Action al frame 2? Dejalo en el primero para que el preloader ejecute bien.

Por otra parte el código esta demasiado rebuscado, yo lo cambiaría por esto:

Código ActionScript :

stop(); 
 
miIntervalo = setInterval (preloader,300,this); 
 
function preloader(ToLoad:MovieClip) { 
  
   var current:Number = ToLoad.getBytesLoaded(); 
   var total:Number = ToLoad.getBytesTotal(); 
   var perc_loaded_Number = Math.round(current/total*100); 

   porcentaje_txt.text = porcentaje2_txt.text =  porcentaje3_txt.text = porcentaje4_txt.text =perc_loaded; 
    
   if (current/total) { 
      clearInterval(miIntervalo);  
      gotoAndPlay("home");        
   } 
} 


Además de modificaciones meramente de prolijidad, modique los siguientes errores:

1. Declarabas vars pero sin su tipo, esto hace menos eficiente cuando corre un script
2. Para evitar problemas de pathing y por una maña de crear funciones polimórficas le paso el timeline desde la función
3. El error más jodido, era que gotoAndPlay no tiene sencillamente dos parametros. Ergo home,1 no tiene sentido.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 18 Ene 2010 04:38 pm
Ok, gracias por la respuesta Hernán.

Pongo el AS en el frame 2 para que el preloader comience a verse desde 0% y no desde que ya cargó el 50% o algo así.
No te preocupes que el preloader me anda perfecto así como está.

Mi problema sigue sin resolverse porque lo que no funciona son los preloaders de los swf que se cargan en el loadeeerrrrrr!!!

Gratciasss ^^

Por p_marinita

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 19 Ene 2010 03:33 am
¿Estas usando ESE código para los otros SWF? Si es así.. entonces claro que no te funcionará, ya que no tienes el path correcto

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 19 Ene 2010 12:18 pm
Uso ese estilo de código, pero con el path modificado obviamente para que me cargue los diferentes swf en las diferentes instancias del loader.
Todos cargan y anda todo perfecto, lo único que no puedo lograr es ponerle un preloader a cada swf que se muestre en el loader cada vez que carga.

Gracias por responder ^^

Por p_marinita

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 21 Ene 2010 01:15 am
No entiendo... ¿A cada SWF que muestre en el loader? ¿Que es el loader?

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 21 Ene 2010 04:43 pm
Loader component.
:wink:

Por p_marinita

3 de clabLevel



 

chrome

 

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