Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: zorge en Mayo 21, 2018, 02:18:16 AM

Título: tema algo complicado
Publicado por: zorge en Mayo 21, 2018, 02:18:16 AM
Tengo un problema bastante gordo por asi decirlo necesito saber la manera de mover objetos o instancias de objetos haciendo click izquierdo, dejo imagen adjunta para que se me entienda mejor porque lo que realmente necesito es una vez lo he seleccionado y atrapado con el mouse al soltarlo vaya hacia la direccion en la que lo he soltado con una velocidad fija espero me puedan ayudar, muchas gracias de antemano.
Título: Re:tema algo complicado
Publicado por: Goganpis en Mayo 21, 2018, 06:07:12 PM
Explicate mejor porque no entendi  :P
Título: Re:tema algo complicado
Publicado por: zorge en Mayo 21, 2018, 06:11:33 PM
Cita de: Goganpis en Mayo 21, 2018, 06:07:12 PM
Explicate mejor porque no entendi  :P
Pues basicamente lo que necesito es poder coger un objeto arastrarlo y que al soltarlo mantenga la direccion y velocidad que le di en el arrastre como se ve en la imagen como si fuera a sacarlo de la room con un movimiento ....
Título: Re:tema algo complicado
Publicado por: Goganpis en Mayo 21, 2018, 06:37:56 PM
Ya entendi, para ello solo tienes que darle una variable en la que si xprevious y x no son iguales se haga tal cosa y si lo son pues que se quede en su lugar algo asi

event mouse_left
xPr = x // no los mueva de este lugar siempre tienen que ir en el lugar antes de alterar el codigo de x e y
yPr = y

x = mouse_x
y = mouse_y

if x == xPr
and y == yPr
{
speed = 0
}else
{
speed = 6 // elige la que quieras
direction = point_direction(xPr,yPr,x,y) // indica que la x e y anterior sean direccionadas con las actuales
}


Hay mejores formas de adaptar y hacerlo funcionar de una manera mejor pero esto es algo basico para que entiendas como funciona ese mecanismo  ;D
Título: Re:tema algo complicado
Publicado por: zorge en Mayo 21, 2018, 06:57:13 PM
Cita de: Goganpis en Mayo 21, 2018, 06:37:56 PM
Ya entendi, para ello solo tienes que darle una variable en la que si xprevious y x no son iguales se haga tal cosa y si lo son pues que se quede en su lugar algo asi

event mouse_left
xPr = x // no los mueva de este lugar siempre tienen que ir en el lugar antes de alterar el codigo de x e y
yPr = y

x = mouse_x
y = mouse_y

if x == xPr
and y == yPr
{
speed = 0
}else
{
speed = 6 // elige la que quieras
direction = point_direction(xPr,yPr,x,y) // indica que la x e y anterior sean direccionadas con las actuales
}


Hay mejores formas de adaptar y hacerlo funcionar de una manera mejor pero esto es algo basico para que entiendas como funciona ese mecanismo  ;D
Voy a probarlo ahora mismo a ver que tal Muchas gracias De verdad :)
Título: Re:tema algo complicado
Publicado por: Goganpis en Mayo 21, 2018, 08:22:57 PM
Tranquilo me dices como te fue  XD
Título: Re:tema algo complicado
Publicado por: zorge en Mayo 21, 2018, 08:39:15 PM
Cita de: Goganpis en Mayo 21, 2018, 08:22:57 PM
Tranquilo me dices como te fue  XD
No fue del todo bien ...XDXD al hacer click en el boton del mouse y seleccionar el obj este empieza a temblar de una manera descontrolada y uando haces un movimiento con un minimo de velocidad se suelta, la verdad que la idea es casi perfecto a lo que queria pero esos fallos hacen que sea imposible de realizar la accion como tal y no se me ocurre como puedo hacerlo para mejorarlo...
Título: Re:tema algo complicado
Publicado por: somnus en Mayo 21, 2018, 08:55:58 PM
Cita de: zorge en Mayo 21, 2018, 08:39:15 PM
Cita de: Goganpis en Mayo 21, 2018, 08:22:57 PM
Tranquilo me dices como te fue  XD
No fue del todo bien ...XDXD al hacer click en el boton del mouse y seleccionar el obj este empieza a temblar de una manera descontrolada y uando haces un movimiento con un minimo de velocidad se suelta, la verdad que la idea es casi perfecto a lo que queria pero esos fallos hacen que sea imposible de realizar la accion como tal y no se me ocurre como puedo hacerlo para mejorarlo...


eso es porque en todo momento estas checando la posicion X e Y ,  Xprevious y Yprevious, lo que debes de hacer es que mientras tengas el objeto seleccionado, se mueva segun el mouse, al soltarlo es cuando debes de sacar la velocidad y direccion correspondiente segun la posicion inicial ( de donde tomaste dicha figura )
Título: Re:tema algo complicado
Publicado por: zorge en Mayo 21, 2018, 09:00:27 PM
Cita de: somnus en Mayo 21, 2018, 08:55:58 PM
Cita de: zorge en Mayo 21, 2018, 08:39:15 PM
Cita de: Goganpis en Mayo 21, 2018, 08:22:57 PM
Tranquilo me dices como te fue  XD
No fue del todo bien ...XDXD al hacer click en el boton del mouse y seleccionar el obj este empieza a temblar de una manera descontrolada y uando haces un movimiento con un minimo de velocidad se suelta, la verdad que la idea es casi perfecto a lo que queria pero esos fallos hacen que sea imposible de realizar la accion como tal y no se me ocurre como puedo hacerlo para mejorarlo...
y como podría hacer eso querido amigo??  :)



eso es porque en todo momento estas checando la posicion X e Y ,  Xprevious y Yprevious, lo que debes de hacer es que mientras tengas el objeto seleccionado, se mueva segun el mouse, al soltarlo es cuando debes de sacar la velocidad y direccion correspondiente segun la posicion inicial ( de donde tomaste dicha figura )