Comunidad de diseño web y desarrollo en internet online

Carga de movieClip sin finalizar

Citar            
MensajeEscrito el 21 Ago 2007 11:52 am
Hola, la cuestion es que estoy desarrollando un metodo de etiquetas para mi blog mediante el cual conocer el tamaño de una imagen externa (es decir, de otro servidor) y si sus medidas exceden del ancho o alto de la seccion del blog redimensionarla. Hasta ahi todo muy bonito :lol:

El codigo ya lo tengo pero hay un problema y creo que se encuentra en la carga del movieClip contenedor que carga las imágenes externas, concretamente en el calculo del tanto por ciento ya que si este no se calcula bien no avanza, pero la cuestion es que yo no encuentro cual es el fallo. :crap:

Os dejo parte del código concretamente la parte de la carga excluyendo unas cuants cosas:

Código :

_root.createEmptyMovieClip("contenedorImg", imgsRed);
contenedorImg._x = 0;
contenedorImg._y = 0;
contenedorImg.loadMovie("http://www.dominio.com/nombreimagen.jpg");

_root.onEnterFrame = function() {
      cargado = Math.round((contenedorImg.getBytesLoaded()/contenedorImg.getBytesTotal())*100);
      if (cargado == 100) {
           //  acciones
      }
}


Agradezco toda ayuda desinteresada, puede que el fallo no este en esa parte del codigo si necesitas el entero lo puedo proporcionar.

Saludos y gracias.

Por Lightwave

100 de clabLevel



 

Hyrule

firefox
Citar            
MensajeEscrito el 21 Ago 2007 05:23 pm
Sigo buscando respuestas...... una ayuda vendría mal.

Por Lightwave

100 de clabLevel



 

Hyrule

firefox
Citar            
MensajeEscrito el 23 Ago 2007 10:44 pm
Bueno, en principio, te recomiendo que no uses "loadMovie()" y que en su lugar utilices el objeto "MovieClipLoader", es un poco más de código pero te permite tener un mayor control de la carga.

El código que colocas lo veo bien, pero se me ocurre que puede haber un pequeño erro de cálculo al usar "Math.round", porque igual puede redondear a "100" que a "101". Si ese fuera el problema te doy dos posibles soluciones:

Primera: Cambiar la condición a "mayor o igual que".

Código :

_root.onEnterFrame = function() {
      cargado = Math.round((contenedorImg.getBytesLoaded()/contenedorImg.getBytesTotal())*100);
      if (cargado >= 100) {
           //  acciones
      }
}


Segunda: Cambiar el "Math.round" por "Math.floor".

Código :

_root.onEnterFrame = function() {
      cargado = Math.floor((contenedorImg.getBytesLoaded()/contenedorImg.getBytesTotal())*100);
      if (cargado == 100) {
           //  acciones
      }
}

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 25 Ago 2007 10:11 am
Gracias por la respuesta, aplicaré el método de MovieClipLoader s verdad que en este caso es mejor.
Por otra parte ya he descubierto el problema estaba en que tenia que alojar la accion de cargar dentro del onEnterFrame:

Código :

_root.onEnterFrame = function() {
      contenedorImg.loadMovie("http://www.dominio.com/nombreimagen.jpg");
      cargado = Math.round((contenedorImg.getBytesLoaded()/contenedorImg.getBytesTotal())*100);
      if (cargado == 100) {
           //  acciones
      }
}


Saludos y gracias.

Por Lightwave

100 de clabLevel



 

Hyrule

firefox

 

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