Comunidad de diseño web y desarrollo en internet online

caso extraño: carga de imagen en posición incorrecta

Citar            
MensajeEscrito el 08 Ago 2008 12:37 pm
Buenas!
Estoy haciendo una página web en flash con largas lineas de código en as2.
En en ella hay un movieclip vacío en la posición x=252 dentro del cual se cargan imágenes del exterior. Este moviclip está semi-oculto por una máscara para que muestre sólo la parte de la imagen que me interesa. Luego tengo unos botones (adelante, atrás) que hace que el movieclip se mueva a derecha izquierda, mostrando las partes de la imagen antes ocultas por la máscara.
La cuestión es que de vez en cuando (más a menudo de lo que me gustaría) las imágenes no se cargan en la posición x=252, sino algo desplazadas hacia la izquierda. Sólo sucede cuando se carga la imagen pues cuando le doy a atras o adelante, recupera su posición ideal. Lo que me mosquea es que sólo ocurre de vez en cuando, no siempre. :?

¿Alguien tiene idea de a qué puede ser debido?

¿Se trata de alguna limitación del AS2?, ¿tendré algún fantasma metido en mi ordenador? :shock:

Por robin_blood

13 de clabLevel



 

msie7
Citar            
MensajeEscrito el 08 Ago 2008 01:19 pm
Postea el código que estás utilizando para ver si se puede detectar que es lo que te está dando problemas.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 14 Ago 2008 02:12 pm
Pues no sé si servirá de algo pero el código del frame de la sección con la galería sería el siguiente. No puedo pararme a expicarlo todo, pero baste con explicar que hay 8 elementos de menu q son mc dentro de los cuales hay un boton un texto dinámico que cambia dependiendo de en qué parte de la página estemos. Al seleccionar uno de ellos se mueven para ocultarse y sólo queda un botón para volver atrás y al mismo tiempo se carga la imagen en el mc vacío llamado "marco" y aparecen los botones para mover adelante y atrás la imagen con efecto easing.

Ahí va el pedazo de code:

Código :

stop();
_root.resalte.gotoAndPlay(2)
apartado = "Proyectos";
nom_proyecto = "";
texto = "";

//
_root.m1.tx1 = "proyectos01";
_root.m2.tx2 = "proyectos02";
_root.m3.tx3 = "proyectos03";
_root.m4.tx4 = "proyectos04";
_root.m5.tx5 = "proyectos05";
_root.m6.tx6 = "proyectos06";
_root.m7.tx7 = "proyectos07";
_root.m8.tx8 = "proyectos08";
//
_root.m1.pos_y = 307;
_root.m2.pos_y = 328;
_root.m3.pos_y = 349;
_root.m4.pos_y = 370;
_root.m5.pos_y = 391;
_root.m6.pos_y = 412;
_root.m7.pos_y = 433;
_root.m8.pos_y = 454;
//
_root.m1.bt1.enabled = true;
_root.m2.bt2.enabled = true;
_root.m3.bt3.enabled = true;
_root.m4.bt4.enabled = true;
_root.m5.bt5.enabled = true;
_root.m6.bt6.enabled = true;
_root.m7.bt7.enabled = true;
_root.m8.bt8.enabled = true;
//
m1.bt1.onPress = function() {
   _root.texto = "proyectos01";
   nom_proyecto = "proyectos01"
   _root.foto_limite=2
   _root.foto_actual=1
   _root.marco._x=252
   
   marco.loadMovie("fotos/proyectos/proyectos01.jpg")
   
   foto_anterior._alpha=50
   foto_anterior.enabled=false
   foto_posterior._alpha=100
   foto_posterior.enabled=true
   
   _root.m1.bt1.enabled = false;
   _root.m2.bt2.enabled = false;
   _root.m3.bt3.enabled = false;
   _root.m4.bt4.enabled = false;
   _root.m5.bt5.enabled = false;
   _root.m6.bt6.enabled = false;
   _root.m7.bt7.enabled = false;
   _root.m8.bt8.enabled = false;

   m1.pos_y = 256;
   m2.pos_y = 256;
   m3.pos_y = 256;
   m4.pos_y = 256;
   m5.pos_y = 256;
   m6.pos_y = 256;
   m7.pos_y = 256;
   m8.pos_y = 256;
};
//
m2.bt2.onPress = function() {
   _root.texto = "proyectos02";
   nom_proyecto = "proyectos02"
   _root.foto_limite=4
   _root.foto_actual=1
   _root.marco._x=252
   
   marco.loadMovie("fotos/proyectos/proyectos02.jpg")
   
   foto_anterior._alpha=50
   foto_anterior.enabled=false
   foto_posterior._alpha=100
   foto_posterior.enabled=true
   
   _root.m1.bt1.enabled = false;
   _root.m2.bt2.enabled = false;
   _root.m3.bt3.enabled = false;
   _root.m4.bt4.enabled = false;
   _root.m5.bt5.enabled = false;
   _root.m6.bt6.enabled = false;
   _root.m7.bt7.enabled = false;
   _root.m8.bt8.enabled = false;

   m1.pos_y = 256;
   m2.pos_y = 256;
   m3.pos_y = 256;
   m4.pos_y = 256;
   m5.pos_y = 256;
   m6.pos_y = 256;
   m7.pos_y = 256;
   m8.pos_y = 256;
};
//
m3.bt3.onPress = function() {
   _root.texto = "proyectos03";
   nom_proyecto = "proyectos03"
   _root.foto_limite=2
   _root.foto_actual=1
   _root.marco._x=252
   
   marco.loadMovie("fotos/proyectos/proyectos03.jpg")
   
   foto_anterior._alpha=50
   foto_anterior.enabled=false
   foto_posterior._alpha=100
   foto_posterior.enabled=true
   
   _root.m1.bt1.enabled = false;
   _root.m2.bt2.enabled = false;
   _root.m3.bt3.enabled = false;
   _root.m4.bt4.enabled = false;
   _root.m5.bt5.enabled = false;
   _root.m6.bt6.enabled = false;
   _root.m7.bt7.enabled = false;
   _root.m8.bt8.enabled = false;

   m1.pos_y = 256;
   m2.pos_y = 256;
   m3.pos_y = 256;
   m4.pos_y = 256;
   m5.pos_y = 256;
   m6.pos_y = 256;
   m7.pos_y = 256;
   m8.pos_y = 256;
};
//
m4.bt4.onPress = function() {
   _root.texto = "proyectos04";
   nom_proyecto = "proyectos04"
   _root.foto_limite=2
   _root.foto_actual=1
   _root.marco._x=252
   marco.loadMovie("fotos/proyectos/proyectos04.jpg")
   foto_anterior._alpha=50
   foto_anterior.enabled=false
   foto_posterior._alpha=100
   foto_posterior.enabled=true
   
   _root.m1.bt1.enabled = false;
   _root.m2.bt2.enabled = false;
   _root.m3.bt3.enabled = false;
   _root.m4.bt4.enabled = false;
   _root.m5.bt5.enabled = false;
   _root.m6.bt6.enabled = false;
   _root.m7.bt7.enabled = false;
   _root.m8.bt8.enabled = false;

   m1.pos_y = 256;
   m2.pos_y = 256;
   m3.pos_y = 256;
   m4.pos_y = 256;
   m5.pos_y = 256;
   m6.pos_y = 256;
   m7.pos_y = 256;
   m8.pos_y = 256;
};
m5.bt5.onPress = function() {
   _root.texto = "proyectos05";
   nom_proyecto = "proyectos05"
   _root.foto_limite=3
   _root.foto_actual=1
   _root.marco._x=252
   marco.loadMovie("fotos/proyectos/proyectos05.jpg")
   foto_anterior._alpha=50
   foto_anterior.enabled=false
   foto_posterior._alpha=100
   foto_posterior.enabled=true
   
   _root.m1.bt1.enabled = false;
   _root.m2.bt2.enabled = false;
   _root.m3.bt3.enabled = false;
   _root.m4.bt4.enabled = false;
   _root.m5.bt5.enabled = false;
   _root.m6.bt6.enabled = false;
   _root.m7.bt7.enabled = false;
   _root.m8.bt8.enabled = false;

   m1.pos_y = 256;
   m2.pos_y = 256;
   m3.pos_y = 256;
   m4.pos_y = 256;
   m5.pos_y = 256;
   m6.pos_y = 256;
   m7.pos_y = 256;
   m8.pos_y = 256;
};
m6.bt6.onPress = function() {
   _root.texto = "proyectos06";
   nom_proyecto = "proyectos06"
   _root.foto_limite=3
   _root.foto_actual=1
   _root.marco._x=252
   marco.loadMovie("fotos/proyectos/proyectos06.jpg")
   foto_anterior._alpha=50
   foto_anterior.enabled=false
   foto_posterior._alpha=100
   foto_posterior.enabled=true
   
   _root.m1.bt1.enabled = false;
   _root.m2.bt2.enabled = false;
   _root.m3.bt3.enabled = false;
   _root.m4.bt4.enabled = false;
   _root.m5.bt5.enabled = false;
   _root.m6.bt6.enabled = false;
   _root.m7.bt7.enabled = false;
   _root.m8.bt8.enabled = false;

   m1.pos_y = 256;
   m2.pos_y = 256;
   m3.pos_y = 256;
   m4.pos_y = 256;
   m5.pos_y = 256;
   m6.pos_y = 256;
   m7.pos_y = 256;
   m8.pos_y = 256;
};
m7.bt7.onPress = function() {
   _root.texto = "proyectos7";
   nom_proyecto = "proyectos7"
   _root.foto_limite=3
   _root.foto_actual=1
   _root.marco._x=252
   marco.loadMovie("fotos/proyectos/proyectos07.jpg")
   
   _root.m1.bt1.enabled = false;
   _root.m2.bt2.enabled = false;
   _root.m3.bt3.enabled = false;
   _root.m4.bt4.enabled = false;
   _root.m5.bt5.enabled = false;
   _root.m6.bt6.enabled = false;
   _root.m7.bt7.enabled = false;
   _root.m8.bt8.enabled = false;

   m1.pos_y = 256;
   m2.pos_y = 256;
   m3.pos_y = 256;
   m4.pos_y = 256;
   m5.pos_y = 256;
   m6.pos_y = 256;
   m7.pos_y = 256;
   m8.pos_y = 256;
};
m8.bt8.onPress = function() {
   _root.texto = "proyectos8";
   nom_proyecto = "proyecto8"
   _root.foto_limite=3
   _root.foto_actual=1
   _root.marco._x=252
   marco.loadMovie("fotos/proyectos/proyectos08.jpg")
   foto_anterior._alpha=50
   foto_anterior.enabled=false
   foto_posterior._alpha=100
   foto_posterior.enabled=true

   _root.m1.bt1.enabled = false;
   _root.m2.bt2.enabled = false;
   _root.m3.bt3.enabled = false;
   _root.m4.bt4.enabled = false;
   _root.m5.bt5.enabled = false;
   _root.m6.bt6.enabled = false;
   _root.m7.bt7.enabled = false;
   _root.m8.bt8.enabled = false;

   m1.pos_y = 256;
   m2.pos_y = 256;
   m3.pos_y = 256;
   m4.pos_y = 256;
   m5.pos_y = 256;
   m6.pos_y = 256;
   m7.pos_y = 256;
   m8.pos_y = 256;
};

bt_atras_seccion.onPress=function(){
   _root.resalte.gotoAndPlay(7)
   gotoAndPlay(10)
   _root.marco.unloadMovie()
   
   foto_anterior._alpha=0
foto_anterior.enabled=false
foto_posterior._alpha=0
foto_posterior.enabled=false}

Por robin_blood

13 de clabLevel



 

msie7
Citar            
MensajeEscrito el 14 Ago 2008 02:50 pm
Dios mio, todavía no se donde está el problema porque no se que cosa es cada elemento y cada variable, pero después entraremos en ese problema.

Si no tienes tiempo a explicar las cosas pasarás mucho trabajo porque las personas que estamos respondiendo en el foro tampoco tenemos mucho tiempo y empleamos algo de este en explicar y ayudar a los demás, así que debes hacer un esfuerzo en explicar algunas cosas para que te puedan ayudar, digo si realmente tienes interés, el resolver tu problema es a ti al que más le debe interesar.

No puedo dejarte que sigas trabajando así, me imagino el trabajo que debes de pasar, si quieres que todos los botones manden una variable, tienes que ir a todos y ponerselo y si necesitas que la variable sea otra entonces otra vez con el cambio, con el uso de ciclos puedes hacer todo esto, ya que todos los botones hacen lo mismo lo único que con menudas diferencias, ya tienes lo principal y es que todo lo numeras, eso está bien. Ahora sin analizar bien tu código he traducido todo al uso de cliclos, debería ser algo así:

Código :

stop();

_root.resalte.gotoAndPlay(2);
apartado = "Proyectos";
nom_proyecto = "";
texto = "";
//
var limites:Array = new Array(2, 4, 2, 2, 3, 3, 3, 3);
var posY:Number = 307;
var titulo:String;

for(var i:Number = 1; i <= limites.length; i++){
   
   titulo = (i < 10) ? "proyectos0" + i : "proyectos" + i;
   
   _root["m" + i]["tx" + i] = titulo;
   _root["m" + i].pos_y = posY;
   _root["m" + i]["bt" + i].enabled = true;
   
   _root["m" + i]["bt" + i].numero = i;
   _root["m" + i]["bt" + i].titulo = titulo;
   
   posY += 21;
   
   //---Acciones de los botones
   _root["m" + i]["bt" + i].onPress = function():Void{
      
      _root.texto = this.titulo;
      nom_proyecto = this.titulo;
      _root.foto_limite = limites[this.numero - 1];
      _root.foto_actual = 1;
      _root.marco._x = 252;
      
      marco.loadMovie("fotos/proyectos/" + this.titulo + ".jpg");
      
      foto_anterior._alpha = 50;
      foto_anterior.enabled = false;
      foto_posterior._alpha = 100;
      foto_posterior.enabled = true;
      
      //---Desactivar todos los botones
      desactiva();
      
      
   }
   
}

//---Función de desactivar todos los botones

function desactiva():Void{
   
   for(var i:Number = 1; i <= limites.length; i++){
      
      _root["m" + i]["bt" + i].enabled = false;
      _root["m" + i]["bt" + i].pos_y = 256;
      
   }
   
}

bt_atras_seccion.onPress = function():Void {
   _root.resalte.gotoAndPlay(7);
   gotoAndPlay(10);
   _root.marco.unloadMovie();
   foto_anterior._alpha = 0;
   foto_anterior.enabled = false;
   foto_posterior._alpha = 0;
   foto_posterior.enabled = false;
};


Analízalo bien línea por línea y dime que cosa no entiendas y te lo explico, cuando hayas migrado tu código a este método de trabajo esntonces seguimos con tu problema, pero no puedes negar que te ahorras código, tiempo y trabajo.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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