Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: DEADOFALL en Marzo 16, 2011, 03:53:34 AM

Título: [Resuelto] Arrastre de objetos con el mouse
Publicado por: DEADOFALL en Marzo 16, 2011, 03:53:34 AM
Bien, supongo que es algo simple, aunque no tengo ni idea de como hacerlo, pero ser? claro, lo que quiero lograr es, que al mantener presionado el clic izquierdo del mouse sobre objeto "llave", lo arrastre, es decir, mientras esta presionado arrastre el objeto a donde vaya el cursor, creo que mas claro no pudo estar XD
Espero vuestra ayuda :-[
Título: Re: Arrastre de objetos con el mouse
Publicado por: brunoxzx en Marzo 16, 2011, 04:05:00 AM
En el evento "left_button" pones [gml]x=mouse_x
y=mouse_y[/gml]  :)
Título: Re: Arrastre de objetos con el mouse
Publicado por: DEADOFALL en Marzo 16, 2011, 04:31:13 AM
No funciona, ni de broma, al cliquear el objeto se mueve un tanto mas hacia abajo XD
Título: Re: Arrastre de objetos con el mouse
Publicado por: Programlocura en Marzo 16, 2011, 04:35:12 AM
En el evento "Create" pones:
[gml]bDrag = false;[/gml]

En el evento "Left Button" pones:
[gml]bDrag = true;[/gml]

Luego en el step pones:
[gml]if ( bDrag )
{
x = mouse_x;
y = mouse_y;
}[/gml]

En el evento "Mouse - Left Relased"
[gml]bDrag = false;[/gml]

Espero te sea util :D
Título: Re: Arrastre de objetos con el mouse
Publicado por: brunoxzx en Marzo 16, 2011, 05:49:14 AM
O si ya record? que si lo haces as? y no esta centrado el sprite no funciona, puedes hacer que funcione poniendo as? "x=mouse_x-sprite_width/2" pero si mueves el mouse muy r?pido deja de funcionar. Te recomiendo mejor usar el c?digo de Programlocura.

P.D. si quieres que el movimiento sea relativo al lugar en donde das click puedes crear unas nuevas variables para saber en que parte del sprite diste click as?.

En el evento "Create" pones:
[gml]
bDrag = false;
XX=0
YY=0[/gml]

En el evento "Left Pressed" no "left button" pones:
[gml]bDrag = true;
xx=mouse_x-x
yy=mouse_y-y[/gml]

Luego en el step pones:
[gml]if ( bDrag )
{
x = mouse_x-xx;
y = mouse_y-yy;
}
}[/gml]

En el evento "Mouse - Left Relased"
[gml]bDrag = false;[/gml]

Título: Re: Arrastre de objetos con el mouse
Publicado por: DEADOFALL en Marzo 16, 2011, 05:20:49 PM
Bien, gracias por todo pero a?n as? ya hab?a corregido mi error y centrado la imagen con el cursor, deb? haber avisado pero me fui. De todos modos os recompenso por la quitada de tiempo que os d? ;)