Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/04/2005, 05:30
Avatar de moNTeZIon
moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Deteccion del mouse fuera de zona

Hola a todos.
A ver si puedo explicarme bien... Partimos de un scrolling de texto que va corriendo a una velocidad dentro de un cuadro. Si se situa el mouse en la parte superior del cuadro, el texto va corriendo más rápido... si se baja el mouse, va más lento... Si se pone el mouse en la parte inferior del cuadro el texto irá en dirección contraria, y segun la posición del mouse, irá más rápido o más lento.. Hasta aqui OK!
Ahora bien, cuando el usuario saca el mouse del cuadro, el texto ha de volver a la velocidad inicial. Eso lo hago con un borde de unos 5 o 10 pixels, que está alrededor del cuadro, de forma que cuando detecto que el mouse pasa por ahí, realizo la acción.
El problema es que no siempre detecta ese evento... Si paso muy rápido con el mouse se queda el texto a la velocidad incorrecta ya que no ha detectado el eveto y no paró la velocidad...
Mi pregunta es: Hay forma más segura de provocar esto que detectando el mouse en esa franja de 5 o 10 pixels? (Por ejemplo simplemente mirando si el mouse está en la pelicula o no... Pero esto, si es que se puede, no se hacerlo)

Aqui les dejo el código que uso hasta ahora, y que me da el problema:

Cita:
M_Texto.onEnterFrame = function() {
if((_ymouse>=10)and(_ymouse<=40)and(_xmouse>=10)an d(_xmouse<=130)) {
setProperty(M_Texto,_y,M_Texto._y+((40-_ymouse)/2));
if (M_Texto._y>=100) {setProperty(M_Texto,_y,-M_Texto._height);}
} else if ((_ymouse>=60)and(_ymouse<=90)and(_xmouse>=10)and( _xmouse<=130)and(-M_Texto._y<M_Texto._height)) {
setProperty(M_Texto,_y,M_Texto._y-((_ymouse-60)/2));
if (-M_Texto._y>=M_Texto._height) {setProperty(M_Texto,_y,100);}
} else if ((_ymouse>40)and(_ymouse<60)and(_xmouse>=10)and(_x mouse<=130)) {
setProperty(M_Texto,_y,M_Texto._y);
} else {
setProperty(M_Texto,_y,M_Texto._y-1);
if (-M_Texto._y>=M_Texto._height-50) {setProperty(M_Texto,_y,100);}
}
}
Gracias a todos.