Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: nonoroman en Febrero 25, 2018, 09:41:49 PM

Título: DETECTAR SI EL RATON SE MUEVE O NO
Publicado por: nonoroman en Febrero 25, 2018, 09:41:49 PM
buenas familia, otra vez ando por aqui, aqui vengo con una pequeña cuestion.

Me gustaria detectar cuando el usuario simplemente mueva el raton y cuando noo.

Para realizar cambiar el cursor que trae por defecto windows y desactivar el cursor cuando este no se mueva.

Bueno, espero que me echeis una mano para averiguar como hacer esta accion. Saludos y gracias de ante mano.

;D ;D
Título: Re:DETECTAR SI EL RATON SE MUEVE O NO
Publicado por: 3dgeminis en Febrero 26, 2018, 12:04:56 AM
Pues usaria uel movimiento de un objeto para saber si el raton se mueve
[gml]
///CREATE
mover=0

///STEP
x=mouse_x
y=mouse_y
mover=abs(x-xprevious)+abs(y-yprevious)
[/gml]
Cuando el raton no se mueve( o sea el objeto) mover=0
Título: Re:DETECTAR SI EL RATON SE MUEVE O NO
Publicado por: nonoroman en Febrero 26, 2018, 08:34:46 AM
Gracias por contestar 3dgeminis.

La verdad es que no conozca la funcion xprevious, que es lo que hace esto??

Muchas graciss men!!!  ;D voy a probarlo. Ya te cuento.

Cita de: 3dgeminis en Febrero 26, 2018, 12:04:56 AM
Pues usaria uel movimiento de un objeto para saber si el raton se mueve
[gml]
///CREATE
mover=0

///STEP
x=mouse_x
y=mouse_y
mover=abs(x-xprevious)+abs(y-yprevious)
[/gml]
Cuando el raton no se mueve( o sea el objeto) mover=0
Título: Re:DETECTAR SI EL RATON SE MUEVE O NO
Publicado por: Goganpis en Febrero 26, 2018, 08:08:31 PM
Las variables xprevious e yprevious son variables que te devuelven el valor de las posiciones x o y anteriores si las necesitas.

// un ejemplo claro de su funcionamiento es este
// usare XP y YP para declarar las variables como xprevious e yprevious
// para ser precisos las variables previous se declaran automaticamente antes de entrar en el begin step

// supongamos que x = 3, y = -3

XP = x // esta es la posicion x normal
YP = y // esta es la posicion y normal

vh = 4
vv = 7

x += vh // la posicion x es sumada por la velocidad horizontal
y += vv // la posicion y es sumada por la velocidad vertical

x = XP // x = 3+4, pero como en esta declaras que se reinicie es x = 3
y = YP // y = -3+7, pero como en esta declaras que se reinicie es y = -3
Título: Re:DETECTAR SI EL RATON SE MUEVE O NO
Publicado por: nonoroman en Febrero 27, 2018, 12:06:29 AM
Bueno, lo he probado y la verdad que funciona. Pero solo me hace falta usar la variable de x.

Pero tengo un pequeño ajuste que hacer.

El caso, es que funciona perfecto, pero al moverse el player y moverse la camara (view), siguiendo el player, esto hace mover tambien el cursor, cuando este, no lo esta realmente moviendo el usuario. Y claro, este cursor se activa, y aparece, cuando realmente este no es el caso en que deberia de aparecer.

Y la verdad, ahora mismo no se como solucionar este pequeño detalle, a ver si entre todos damos con la forma.

Muchas gracias 3dgeminis por guiarme, estamos cerca, pero falta este detalle que ahora mismo se me escapa.

Saludos y gracias de antemano.
Título: Re:DETECTAR SI EL RATON SE MUEVE O NO
Publicado por: Clamud en Febrero 27, 2018, 07:21:11 AM
Para evitar el problema con la view, se puede obtener la posición del mouse respecto a la ventana
[gml]
window_mouse_get_x()
window_mouse_get_y()
[/gml]
la capa GUI
[gml]
device_mouse_x_to_gui
device_mouse_y_to_gui
[/gml]
o la pantalla
[gml]
device_mouse_raw_x
device_mouse_raw_y
[/gml]
Título: Re:DETECTAR SI EL RATON SE MUEVE O NO
Publicado por: nonoroman en Febrero 27, 2018, 01:20:10 PM
YEAHHH!!!!!

Ahora si que funciona perfecto!!!!  XD :D ;D

Muchas gracias Clamud y 3dgeminis, sois unos maquinas!!!!!