Foros del Web » Creando para Internet » Flash y Actionscript »

Detectar que el raton está fuera de la película

Estas en el tema de Detectar que el raton está fuera de la película en el foro de Flash y Actionscript en Foros del Web. Hola, os comento... necesito detectar cuando el ratón se sale fuera de la película para disparar un evento. He intentado hacerlo con un 'on(rollOut)' en ...
  #1 (permalink)  
Antiguo 12/02/2008, 15:05
Avatar de Jowy  
Fecha de Ingreso: febrero-2007
Ubicación: En la red
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 0
Detectar que el raton está fuera de la película

Hola, os comento... necesito detectar cuando el ratón se sale fuera de la película para disparar un evento.

He intentado hacerlo con un 'on(rollOut)' en un mc que ocupa todo el swf, pero como la película tiene varios botones grandes (ocupan casi toda la película), se solapan y no lo puedo implementar...

Se puede hacer algo con listeners? Alguna idea?

Gracias
  #2 (permalink)  
Antiguo 13/02/2008, 14:39
Avatar de Jowy  
Fecha de Ingreso: febrero-2007
Ubicación: En la red
Mensajes: 232
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Detectar que el raton está fuera de la película

Me contesto a mi mismo:

He dado con la solución asignando valores a una variable.

Cuando en los botones se hace un "on (rollOver)" se aumenta el valor de la variable en 1, y cuando se hace un on (rollOut) se le resta 1.

Luego he hecho un script con setInterval() que comprueba cada 5 segundos si la suma de esos valores es 0, lo que significa que el ratón está fuera de los botones, y por tanto, de la película...

Si se cumple la condición se ejecuta el código que yo kiero.

Ciaoooo
  #3 (permalink)  
Antiguo 14/02/2008, 10:28
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 22 años
Puntos: 0
Re: Detectar que el raton está fuera de la película

Hola

¿Habrá otra manera de hacerlo? yo necesito lo mismo, que detecte cuando el mouse sale de la película para hacer invisible el movieclip que sigue al mouse. También intenté con un botón del tamaño de la película y ponerle onRollOut, pero hay más botones y un componente que deja de funcionar si le pongo onRollOut.

Gracias
  #4 (permalink)  
Antiguo 15/02/2008, 08:09
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 22 años
Puntos: 0
Re: Detectar que el raton está fuera de la película

¿alguna idea?
ojalá existiera Stage.onRollOut :P
  #5 (permalink)  
Antiguo 15/02/2008, 08:52
Avatar de Ludwingg  
Fecha de Ingreso: diciembre-2002
Ubicación: San Salvador
Mensajes: 951
Antigüedad: 21 años, 11 meses
Puntos: 5
Re: Detectar que el raton está fuera de la película

Con AS3 es posible hacerlo.... en un post de http://klr20mg.com/ vi un ejemplo bastante bueno, seria de que lo buscaras en dicha direccion o te pongas en contacto con su administrador...

saludos
  #6 (permalink)  
Antiguo 15/02/2008, 09:00
Avatar de Ludwingg  
Fecha de Ingreso: diciembre-2002
Ubicación: San Salvador
Mensajes: 951
Antigüedad: 21 años, 11 meses
Puntos: 5
Re: Detectar que el raton está fuera de la película

encontre el vinculo directo: http://klr20mg.com/2006/06/30/algo-de-as3/
  #7 (permalink)  
Antiguo 15/02/2008, 10:08
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 22 años
Puntos: 0
Re: Detectar que el raton está fuera de la película

estupendo, mouseLeave
gracias
  #8 (permalink)  
Antiguo 15/02/2008, 10:27
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 22 años
Puntos: 0
Re: Detectar que el raton está fuera de la película

listo, con esto nos ahorramos mucho trabajo :)
Código:
stage.addEventListener(Event.MOUSE_LEAVE, fuerapelicula);
function fuerapelicula(event:Event):void {
    trace("mouse fuera de swf");
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:18.