Comunidad de diseño web y desarrollo en internet online

Problema al cargar swfr externo

Citar            
MensajeEscrito el 07 May 2012 09:40 am
Hola a todos.

Tengo un swf que cargo dentro de la película principal en un contenedor. A ese swf que cargo le he puesto una precarga en el primer fotograma con el siguiente código:

Código ActionScript :

addEventListener(Event.ENTER_FRAME, lodeando);

function lodeando(event:Event):void
   {
   var bytesTotales = stage.loaderInfo.bytesTotal;
   var bytesCargados = stage.loaderInfo.bytesLoaded;
   var porcentaje = Math.round(bytesCargados * 100 / bytesTotales);
         
   cargaAnimada_mc.textoPorcentaje.text = porcentaje + "%";
   cargaAnimada_mc.gotoAndStop(porcentaje);
         
   if (bytesCargados == bytesTotales)
   {
      removeEventListener(Event.ENTER_FRAME, lodeando);
      this.gotoAndStop(2);
   }
}


Cuando simulo la precarga del swf solo en flash va bien, pero cuando lo cargo en la película principal no funciona y se queda con la precarga al 100% sin pasar al segundo fotograma.

¿Que es lo que estoy haciendo mal?

Gracias.

Por plug78

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 May 2012 12:51 pm
No uses la igualdad absoluta, que si bien debería ser infalible, no siempre es el caso, usa

if (bytesCargados >= bytesTotales)

Luego supongo que tienes por ah{i un stop que no posteaste.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 May 2012 01:19 pm
Si tengo un stop(); en el primer fotograma donde está el código de la precarga y otro en el segundo fotograma.

Pues aún cambiando == por >= sigue sin ir al 2 fotograma.

Por plug78

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 May 2012 01:29 pm
En dos campos de texto muestra los bytes cargados y los bytes totales, puedes incluso en un tercer campo de texto mostrar si la propiedad que estas chequeando es true o false
Asegurate la precedencia del algoritmo con un par de parentesis

Math.round((bytesCargados * 100) / bytesTotales);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 May 2012 01:56 pm
Pues:

Código ActionScript :

Math.round((bytesCargados * 100) / bytesTotales);


me muestra 100

y el booleano, true.

Por plug78

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 May 2012 02:02 pm
Pues entonces entiendo que entra en la condición, agrega ahora algún mensaje dentro del if para mostrar en el campo de texto .... luego si quieres incluso no borres el onEnterFrame, pon un otro mensaje de texto mostrando el currentframe que lógicamente debería ser 2. Las sisugientes opciones son:

- No se mueve
- Se mueve pero algo lo hace volver atrás
- Se mueve al fotograma 2 pero eso no significa que se vea algo

Debuggear es un arte

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 May 2012 04:05 pm

Solisarg escribió:

Debuggear es un arte


Si, si que es todo un arte. :)

Pues sigue sin ir.

Revisaré todo de nuevo a ver si se me ha escapado algo. Si no, lo haré de otra manera.

Por plug78

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 May 2012 03:21 pm
Al final lo he consegido. Era un fallo muy tonto!

En:

Código ActionScript :

var bytesTotales = stage.loaderInfo.bytesTotal;
var bytesCargados = stage.loaderInfo.bytesLoaded;


Tenía que quitarle "stage." , ya que no es la película principal si no una que se carga en la principal. Así funciona perfecto.

Gracias por tu ayuda Jorge.

Por plug78

46 de clabLevel



 

firefox

 

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