Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: GGrayonar en Noviembre 24, 2018, 01:31:16 am

Título: mouse
Publicado por: GGrayonar en Noviembre 24, 2018, 01:31:16 am
que funcion debo utilizar si quiero que cuando el usuario presione en el JUGADOR el click izquiero
porque uso el if(mouse_check_button_pressed(mb_left)){room_goto(RM_TABLERO)}
y aunque no le de click en el objeto igual ejecuta la accion
no se si me di a entender
Título: Re:mouse
Publicado por: Hezz en Noviembre 24, 2018, 02:28:54 am
Lo que pasa es que está detectando el clic, no el clic en el objeto. Podés ocupar el evento "mouse left pressed" para detectar un clic en el objeto, o el evento "mouse global left pressed" para cuando hace un clic en cualquier parte.
Título: Re:mouse
Publicado por: Taki-A en Noviembre 24, 2018, 02:31:00 am
Creo que deberías poner en el objeto personaje un evento mouse > Mouse enter... Y de ahí escribir el código
que funcion debo utilizar si quiero que cuando el usuario presione en el JUGADOR el click izquiero
porque uso el if(mouse_check_button_pressed(mb_left)){room_goto(RM_TABLERO)}
y aunque no le de click en el objeto igual ejecuta la accion
no se si me di a entender
Título: Re:mouse
Publicado por: dixon2010 en Noviembre 25, 2018, 02:14:22 am
Hola, gusto en saludarlos.

Los que dice Hezz y Taki-A es correcto  ;).
Hay muchas maneras de lograrlo.

Tu código le está diciendo al sistema que:
Cuando se presione el botón izquierdo del mouse se cambie de room.
Código: [Seleccionar]
if(mouse_check_button_pressed(mb_left)){room_goto(RM_TABLERO)

Puedes decirle:
Cuando se presione el botón izquierdo del mouse y en la posición del mouse se encuentre el objeto se cambie de room.
Código: [Seleccionar]
check=(instance_position(mouse_x, mouse_y,object_index)=id);
if(mouse_check_button_pressed(mb_left) && check){room_goto(RM_TABLERO)}

Tambien puedes decirle:
Cuando se presione el botón izquierdo del mouse y la distancia del mouse al objeto sea mejor que la mitad del ancho de su sprite se cambie de room. (este funciona bien solo si el origen del sprite está en su centro)
Código: [Seleccionar]
sw=sprite_width/2
if(mouse_check_button_pressed(mb_left) && point_distance(x,y,mouse_x,mouse_y)<sw){room_goto(RM_TABLERO)}