Comunidad de diseño web y desarrollo en internet online

problemas con preloader

Citar            
MensajeEscrito el 22 Jul 2008 05:49 am

Código :

Hola, soy nuevo por aca.

Les cuento mi problema

Estoy terminando de diseñar una web completamente hecha en flash, la cual carga las secciones por medio de loadMovie.

todas las secciones son swf con su propio preloader, los cuales andan perfectos cuando los veo por separado desde el explorador. pero cuando los llamo desde el swf principal, no funcionan los preloaders, la pagina queda en blanco y arranca solo cuando termina de cargar cada seccion.

este es el script que estoy usando para el preloader, que creo que lo saque de aqui mismo.

[code]/* 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();
[/code]


Espero que me puedan ayudar me estoy volviendo loco, supuse que era un problema del preloader y probe con varios, pero con todos pasa lo mismo.[/quote]

Por tomassaucedo

11 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 22 Jul 2008 09:33 am
Tomás, formateaste mal el mensaje, ahora está todo metido entre etiquetas code, lo que dificulta la lectura (solo el código iría entre code) Aunque si no me equivoco, es el priloader del tutorial de freddie.
A simple vista hay algo que no sirve para un preloader genérico:

total = _root.getBytesTotal();
cargados = _root.getBytesLoaded();

_root es siempre el mismo, con lo cual hay que cambiarlo al contenedor en donde cargas el swf

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Jul 2008 04:15 pm
Me di cuenta despues de postear que quedo mal formateado, pero no pude editar el mensaje para corregirlo.

lo que decis es que _root corresponde a toda la pagina.

este es el codigo que carga los swf externos

Código :

if(seccion=="press"){
//   panel.contentPath="press.swf";
   _root.createEmptyMovieClip('sec', 2);
   sec.createEmptyMovieClip('sec2', 2);
   sec.width = 740;
   sec.height = 420;
   sec._x = 0;//(Stage.width-742)/2 ;
   sec._y =-2;
   sec.sec2.loadMovie("press.swf");
}


si te fijas el acceso desde un scrollpane, esta comentarizado, antes cargaba ahi dentro pero tampoco funcionaba, asi que supuse que era por eso.

por cual deberia cambiar al _root???



Gracias

TOM

Por tomassaucedo

11 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 22 Jul 2008 05:07 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Jul 2008 05:33 pm
Excelente, muchas gracias, voy a porbar con eso

Por tomassaucedo

11 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 23 Jul 2008 05:50 am
Pude solucionar todo pero tengo un problemita que me molesta mucho.

aca pueden ver como viene la web.

http://tomassaucedo.com.ar/ilovebroken/

el preloader funciona perfectamente en todas las seccionas, o sea aparece el preloader carga hasta el final y recien ahi aparece la seccion.
pero en la seccion CONTACT mientras que carga el preloader va apareciendo el swf de contact.

nose porque esta pasando esto, y estoy usando exactamente el mismo codigo para todo los botones

Código :

if(seccion=="contact"){
   stop();
   //Preloader Script-------
   precargador._visible=false 
   precargador.onEnterFrame=function(){ 
      bl=contenedor.getBytesLoaded();
      bt=contenedor.getBytesTotal();
      if (bl>=bt && bl>1){ 
         this._visible=false;
      }else{ 
         this._visible=true; 
         this.barrita._xscale=100*bl/bt; 
      }
   }
   _root.contenedor.loadMovie("contact.swf");
}



el script que estoy usando es el siguiente
http://muelalab.com/blog/?p=40

Por tomassaucedo

11 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 23 Jul 2008 08:15 am
Intenta de esta manera:

Código :

if(seccion=="contact"){

   stop();

   precargador._visible=false;

   precargador.onEnterFrame=function():Void{

      var bl:Number = contenedor.getBytesLoaded();
      var bt:Number = contenedor.getBytesTotal();

      if (bl>=bt && bl>1){

         this._visible=false;
         _root.contenedor.play();
         delete this.onEnterFrame;

      }else{

         this._visible = true; 
         this.barrita._xscale=100*bl/bt;

      }
   }
   _root.contenedor.loadMovie("contact.swf");
}


Debes poner un stop al inicio de cada SWF que vayas a cargar, como por ejemplo contact.swf y cuando se termine de cargar darle play y borrar el onEnterFrame

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 23 Jul 2008 05:20 pm
funciono perfecto muchisimas gracias, nose porque no andaba esa seccion si el resto con el codigo anterior funcionaba perfecto.

solo me queda una duda.
los swf de cada seccion no quedan guardados en el temporal y cada vez que vuelvo a visitar una seccion carga de nuvo la pagina (lo que produce perdida de tiempo para el visitante y consume trafico).

nose porque pasa eso.

es normal que el archivo contact.swf que tiene una sola imagen diminuta pese tanto (250kb) cuando es solo un poco de texto, hay secciones que contienen mas contenidios, valg ala redundancia, y pesan mucho menos

Por tomassaucedo

11 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 23 Jul 2008 07:08 pm
Bueno, lo estás probando desde internet, desde internet si debe guardar en caché, sino debe ser que tienes deshabilitada la opción en tu navegador.

Lo más seguro que pase con contacts es que el texto tenga embedida la tipografía y al incluir todos esos caracteres pese mucho o que hayas utilizado componentes y por lo general estos aumentan el tamaño del SWF.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 25 Jul 2008 11:24 pm
respecto del cache, me pasa en todas las computadoras.

Por tomassaucedo

11 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 27 Jul 2008 11:24 am
Es algo extraño, normalmente los flash se guardan en cache

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 31 Jul 2008 03:52 pm
Existe alguna forma de utilizar la fuestes de sistema en un formulario flash?, ya que tengo un swf de contacto que no tiene practicamente contenidos y pesa 250k

Por tomassaucedo

11 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 31 Jul 2008 04:43 pm
Elige _sans o _serif como las tipos, las que empiezan con guión bajo son de sistema

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 31 Jul 2008 05:11 pm
muchas, gracias, baje de 250k a 21k

Por tomassaucedo

11 de clabLevel



Genero:Masculino  

Argentina

firefox

 

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