Comunidad de diseño web y desarrollo en internet online

detener una función

Citar            
MensajeEscrito el 17 Nov 2006 04:47 pm
Hola!
Tengo una función que quiero detener al cargar un swf en el nivel superior, y que vuelva a reactivarse al descargarlo. Se trata de una galería de imágenes que se desplaza al hacer rollover a ambos lados, el problema es que cuando pincho en una de las imágenes sigue andando la galería y no sabes por donde vas.... :crap:

Seguro que alguno de vosotros tiene solución para esto, gracias de antemano.

Por martuxi

3 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 17 Nov 2006 05:48 pm
HOla. Puedes colcar el código que quieres detener?

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

opera
Citar            
MensajeEscrito el 17 Nov 2006 06:20 pm
Claro, ahí va:

Código :

onClipEvent (mouseMove) {
stop();
var mascara;
slideSpeed = 0.04;
if(_ymouse <= -41) onEnterFrame=this._xmouse;
else if (_ymouse >= 166) onEnterFrame=this._xmouse;
else onEnterFrame = function(){   
   if(_xmouse <= -296)onEnterFrame=this._xmouse;
   else if(_xmouse >= 221) onEnterFrame=this._xmouse;
   else (currentMousex = Math.floor(this._xmouse));
   imgbox1._x = Math.floor(imgbox1._x-(currentMousex*slideSpeed));
   imgbox2._x = Math.floor(imgbox2._x-(currentMousex*slideSpeed));
   imgbox3._x = Math.floor(imgbox3._x-(currentMousex*slideSpeed));
   imgbox4._x = Math.floor(imgbox4._x-(currentMousex*slideSpeed));
   imgbox5._x = Math.floor(imgbox5._x-(currentMousex*slideSpeed));
   imgbox6._x = Math.floor(imgbox6._x-(currentMousex*slideSpeed));
   imgbox7._x = Math.floor(imgbox7._x-(currentMousex*slideSpeed));
   imgbox8._x = Math.floor(imgbox8._x-(currentMousex*slideSpeed));
   imgbox9._x = Math.floor(imgbox9._x-(currentMousex*slideSpeed));
   imgbox10._x = Math.floor(imgbox10._x-(currentMousex*slideSpeed));
   imgbox11._x = Math.floor(imgbox11._x-(currentMousex*slideSpeed));
   imgbox12._x = Math.floor(imgbox12._x-(currentMousex*slideSpeed));
   imgbox13._x = Math.floor(imgbox13._x-(currentMousex*slideSpeed));
   imgbox14._x = Math.floor(imgbox14._x-(currentMousex*slideSpeed));
   imgbox15._x = Math.floor(imgbox15._x-(currentMousex*slideSpeed));
   imgbox16._x = Math.floor(imgbox16._x-(currentMousex*slideSpeed));
   imgbox17._x = Math.floor(imgbox17._x-(currentMousex*slideSpeed));
   imgbox18._x = Math.floor(imgbox18._x-(currentMousex*slideSpeed));
   imgbox19._x = Math.floor(imgbox19._x-(currentMousex*slideSpeed));
   imgbox20._x = Math.floor(imgbox20._x-(currentMousex*slideSpeed));
   imgbox21._x = Math.floor(imgbox21._x-(currentMousex*slideSpeed));
   //The code below causes the imgboxes to repeat//
   if(imgbox1._x <= -1922.5){imgbox1._x += 3845;}
   else if(imgbox2._x <= -1922.5){imgbox2._x += 3845;}
   else if(imgbox3._x <= -1922.5){imgbox3._x += 3845;}
   else if(imgbox4._x <= -1922.5){imgbox4._x += 3845;}
   else if(imgbox5._x <= -1922.5){imgbox5._x += 3845;}
   else if(imgbox6._x <= -1922.5){imgbox6._x += 3845;}
   else if(imgbox7._x <= -1922.5){imgbox7._x += 3845;}
   else if(imgbox8._x <= -1922.5){imgbox8._x += 3845;}
   else if(imgbox9._x <= -1922.5){imgbox9._x += 3845;}
   else if(imgbox10._x <= -1922.5){imgbox10._x += 3845;}
   else if(imgbox11._x <= -1922.5){imgbox11._x += 3845;}
   else if(imgbox12._x <= -1922.5){imgbox12._x += 3845;}
   else if(imgbox13._x <= -1922.5){imgbox13._x += 3845;}
   else if(imgbox14._x <= -1922.5){imgbox14._x += 3845;}
   else if(imgbox15._x <= -1922.5){imgbox15._x += 3845;}
   else if(imgbox16._x <= -1922.5){imgbox16._x += 3845;}
   else if(imgbox17._x <= -1922.5){imgbox17._x += 3845;}
   else if(imgbox18._x <= -1922.5){imgbox18._x += 3845;}
   else if(imgbox19._x <= -1922.5){imgbox19._x += 3845;}
   else if(imgbox20._x <= -1922.5){imgbox20._x += 3845;}
   else if(imgbox21._x <= -1922.5){imgbox21._x += 3845;}
   else{}
   if(imgbox1._x >= 1922.5){imgbox1._x -= 3845;}
   else if(imgbox2._x >= 1922.5){imgbox2._x -= 3845;}
   else if(imgbox3._x >= 1922.5){imgbox3._x -= 3845;}
   else if(imgbox4._x >= 1922.5){imgbox4._x -= 3845;}
   else if(imgbox5._x >= 1922.5){imgbox5._x -= 3845;}
   else if(imgbox6._x >= 1922.5){imgbox6._x -= 3845;}
   else if(imgbox7._x >= 1922.5){imgbox7._x -= 3845;}
   else if(imgbox8._x >= 1922.5){imgbox8._x -= 3845;}
   else if(imgbox9._x >= 1922.5){imgbox9._x -= 3845;}
   else if(imgbox10._x >= 1922.5){imgbox10._x -= 3845;}
   else if(imgbox11._x >= 1922.5){imgbox11._x -= 3845;}
   else if(imgbox12._x >= 1922.5){imgbox12._x -= 3845;}
   else if(imgbox13._x >= 1922.5){imgbox13._x -= 3845;}
   else if(imgbox14._x >= 1922.5){imgbox14._x -= 3845;}
   else if(imgbox15._x >= 1922.5){imgbox15._x -= 3845;}
   else if(imgbox16._x >= 1922.5){imgbox16._x -= 3845;}
   else if(imgbox17._x >= 1922.5){imgbox17._x -= 3845;}
   else if(imgbox18._x >= 1922.5){imgbox18._x -= 3845;}
   else if(imgbox19._x >= 1922.5){imgbox19._x -= 3845;}
   else if(imgbox20._x >= 1922.5){imgbox20._x -= 3845;}
   else if(imgbox21._x >= 1922.5){imgbox21._x -= 3845;}
   else{}
   }   
}


:swat: *Editado_zguillez :: utiliza las etiquetas code para postear código

Por martuxi

3 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 17 Nov 2006 07:59 pm
A ver... si quieres que este código deje de funcionar en un momento deternidado y luego que vuelva a estar activo, puedes añadirle una variable booleana dentro de un condiciomnal que haga que ese código se lea o no:

Código :

this.onMouseMove = function()
{
   if (codigoActivo == true) {
      //aqui todo tu código
   }
}

En el principio de tu pelicula defines esta variable como TRUE

Código :

var codogoActivo:Boolean = true;

De esta manera el código se leerá y funcionará. Cuando abras la imágen y quieras que el código no funcione pones la variable a FALSE

Código :

codigoActivo = false

al cerrar la imagen la vuelves a poner a TRUE y listo...
Espero te sirva.

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores



Ultima edición por Zguillez el 17 Nov 2006 11:08 pm, editado 1 vez

BCN

firefox
Citar            
MensajeEscrito el 17 Nov 2006 10:08 pm
A ver, esto no es el modo de cortar la función (la respuesta correcta ya la tenés en el post de arriba), pero, lo que te recomiendo es que abrevies tu código, que es demasiado largo.

Cómo?? te preguntarás.... Bien, si te fijás atantamente, ese código repite la estructura muchas veces. lo único que cambia es el objeto en cuestión, imgbox1, 2, 3, etc.

Bien, cuando lo único que cambia es un número, es lógico creer que debe haber un modo más cómodo de hacerlo y reducir tu código a menos de 20 líneas (si no me equivoco, 15 como máximo, quizá menos).

Como verás la mejoría sería grande, por lo que es lógico que quieras saber como se hace.

Bien, hace muy poco, alguien tenía el mismo problema. Fijate la explicación que le di, es la misma que andás necesitando:
http://www.cristalab.com/foros/viewtopic.php?t=30833

Espero te sirva :wink:

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 20 Nov 2006 10:17 am
Muchísimas gracias a los dos, ahora mismo lo pongo en práctica :wink:

Por martuxi

3 de clabLevel



Genero:Femenino  

msie

 

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