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

Como detectar cuando el mouse sale de la pelicula

Estas en el tema de Como detectar cuando el mouse sale de la pelicula en el foro de Flash y Actionscript en Foros del Web. Hola a todos, el problema q tengo es que no encuentro la manera de detectar cuando el mouse sale de la pelicula flash, o bien ...
  #1 (permalink)  
Antiguo 02/09/2009, 17:19
Avatar de Constantine  
Fecha de Ingreso: mayo-2007
Ubicación: Monterrey, N.L. Mexico
Mensajes: 41
Antigüedad: 16 años, 10 meses
Puntos: 0
Como detectar cuando el mouse sale de la pelicula

Hola a todos, el problema q tengo es que no encuentro la manera de detectar cuando el mouse sale de la pelicula flash, o bien cuando este se deja de mover.

Tengo un Flash incrustado en una pagina, cuando entra el mouse al flash lo cambio por un mc y hasta ahi todo funciona bien, eso lo hago con este codigo:

Mouse.hide()
this.onMouseMove= function(){
ConeCursor._x = _xmouse
ConeCursor._y = _ymouse
}

El problema es cuando el mouse se sale de la pelicula, mi mc se queda en alguna orilla del flash, y yo necesito detectar ese evento para quitar el mc, o bien de alguna manera detectar q el mouse no se esta moviendo (lo inverso a onMouseMove).
Espero q alguien me pueda ayudar para conseguir eso de una u otra manera, de antemano gracias por leer este post . . .
  #2 (permalink)  
Antiguo 03/09/2009, 16:31
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 16 años, 10 meses
Puntos: 67
Respuesta: Como detectar cuando el mouse sale de la pelicula

Podria ser que colocaras un detector en un if por ejemplo:

calcularia el ancho del escenario podria ser de 600 y en el if pondria si (if ) mi puntero X es mayor que 595 ó si mi puntero X es menor que 5 desaparece clip_mc.
__________________
{ Flash }
  #3 (permalink)  
Antiguo 03/09/2009, 17:46
Avatar de Constantine  
Fecha de Ingreso: mayo-2007
Ubicación: Monterrey, N.L. Mexico
Mensajes: 41
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Como detectar cuando el mouse sale de la pelicula

Si gracias por la respuesta y mas o menos asi lo resolvi

Mouse.hide()
var Definida:Boolean = false;
var PosFuera:Number = -12;

this.onMouseMove = function(){
ConeCursor._x = _xmouse;
ConeCursor._y = _ymouse;
UltMov = getTimer();
//updateAfterEvent();

if (Definida == false){
//trace ("Llamo al Intervalo . . . . . . . . . . . . .");
MiIntervalo = setInterval(entrada, 100);
Definida = true;
}
}

function entrada(){
avance = getTimer();
if (avance > UltMov+3000){
//trace ("Se quedo fija.");
clearInterval(MiIntervalo);
ConeCursor._x = PosFuera;
ConeCursor._y = PosFuera;
Definida = false;
}

if (((_xmouse >= 3) and (_xmouse <= 837)) and ((_ymouse >= 3) and (_ymouse <= 107))){
trace("El mouse esta adentro . . . X: " + _xmouse + " - - Y: " + _ymouse);
}else{
//trace("El mouse se salio");
clearInterval(MiIntervalo);
ConeCursor._x = PosFuera;
ConeCursor._y = PosFuera;
Definida = false;
}
}

Como veran lo hago con doble precision:
1. Por la posicion del mouse: Si mi cursor(mc) se quedo en la orilla de la pelicula, lo quito.
2. Por el tiempo de inactividad: Este lo uso por que a veces sacas muy rapido el cursor del mouse que la ultima posicion que detecto flash en que estuvo no cumple la condicion para quitarla, entonces con el Timer me aseguro de darle un maximo de 3 segundos de inactividad para quitarlo.
De todos modos gracias por la respuesta Diegoazul
  #4 (permalink)  
Antiguo 03/09/2009, 18:02
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 16 años, 10 meses
Puntos: 67
Respuesta: Como detectar cuando el mouse sale de la pelicula

No lo he probado pero tambien podria ser.. que pusieras un mc como un marco alrededor de la ventana, y cuando toques el marco desaparezca tu mc.
__________________
{ Flash }
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 19:41.