Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: dridly en Enero 15, 2011, 09:43:32 PM

Título: Alinear a la grid al mover el mouse (solucionado)
Publicado por: dridly en Enero 15, 2011, 09:43:32 PM
Buenas,

tengo un objeto que se mueve con arrastrar y soltar del rat?n.

Me gustar?a que al moverse se alineara a la grid que hay, que es de 40x40, imaginando que son unas casillas que luego se ver?n.

Adjunto c?digo de como lo tengo.

Muchas gracias!

David
Título: Re: Alinear a la grid al mover el mouse
Publicado por: Jiraya en Enero 15, 2011, 09:51:07 PM
poner esto en el evento "step" de la bola.
[gml]
//if the left mouse button has been pressed above the object
if(movewithmouse)
{
    x = mouse_x;
    y = mouse_y;
}else
{
move_snap(40,40);
}
[/gml]
Título: Re: Alinear a la grid al mover el mouse
Publicado por: dridly en Enero 15, 2011, 10:01:43 PM
Me sirve bastante, pero...

me gustar?a que el movimiento no fuese de libre, sino que se vaya ajustando en la grid en cada movimiento. Por ejemplo, si est? en la grid x=80 y muevo al lado, x=120, que el objeto no se posicione en su x=85, sino que salte de la 80 a la 120 directamente.

Me he explicado?  :-[

Merci igualmente!
Título: Re: Alinear a la grid al mover el mouse
Publicado por: Jiraya en Enero 15, 2011, 10:42:24 PM
probar esta
[gml]
//if the left mouse button has been pressed above the object
if(movewithmouse)
{
   if (!position_meeting(mouse_x,mouse_y,id ))
   {
   x = mouse_x;
   y = mouse_y;
   }
}else
{
move_snap(40,40);
}
[/gml]
Título: Re: Alinear a la grid al mover el mouse (solucionado)
Publicado por: dridly en Enero 16, 2011, 07:54:51 PM
Buenas,

al final lo he hecho de esta manera que era como quer?a

if(move_with_mouse)
{
       x = mouse_x -(mouse_x mod 40);
       y = mouse_y -(mouse_y mod 40);
}
else
{
   move_snap(40,40);
}


Gracias!

David