Quiero mover un objeto mientras lo tengo presionado (mouse left pressed).

Tengo este codigo, y si funciona pero cuando muevo muy rapido el mouse, el objeto se tarda en seguirlo:
CREATE
globalvar seguir,seguirx,seguiry;
seguir=0
seguirx=0
seguiry=0


STEP DEL OBJETO
globalvar seguir,seguirx,seguiry;
if seguir==id and mouse_check_button(mb_left) then
{
    x=mouse_x-seguirx
    y=mouse_y-seguiry
}
else
{
    if !mouse_check_button(mb_left) then seguir=0
}

if collision_point(mouse_x,mouse_y,all,1,0)==id and mouse_check_button(mb_left) and seguir==0 then
{
    seguirx=mouse_x-x
    seguiry=mouse_y-y
    seguir=id
}

Yo he tenido ese problema, la solucion que encontre fue ocultar el cursor (Global Game Settings) y crear un objeto que hiciera de cursor. Talves haya una solucion mejor pero a mi me sirvio asi.

Cita de: 3dgeminis en Febrero 14, 2015, 01:04:37 AM
Yo he tenido ese problema, la solucion que encontre fue ocultar el cursor (Global Game Settings) y crear un objeto que hiciera de cursor. Talves haya una solucion mejor pero a mi me sirvio asi.

Pero mi juego es para android, no para windows :(

Cita de: desplo en Febrero 13, 2015, 10:30:54 PM
Tengo este codigo, y si funciona pero cuando muevo muy rapido el mouse, el objeto se tarda en seguirlo:
Si se usa esto:
x=mouse_x-seguirx
y=mouse_y-seguiry

Siempre va a haber un retraso entre el movimiento del puntero y el objeto. Si se quiere que el objeto siga al puntero a la misma velocidad que éste, entonces se debería usar simplemente
[gml]x=mouse_x
y=mouse_y[/gml]


#4 Febrero 14, 2015, 03:10:30 AM Ultima modificación: Febrero 14, 2015, 03:14:53 AM por desplo
Cita de: penumbra en Febrero 14, 2015, 02:12:21 AM
Cita de: desplo en Febrero 13, 2015, 10:30:54 PM
Tengo este codigo, y si funciona pero cuando muevo muy rapido el mouse, el objeto se tarda en seguirlo:
Si se usa esto:
x=mouse_x-seguirx
y=mouse_y-seguiry

Siempre va a haber un retraso entre el movimiento del puntero y el objeto. Si se quiere que el objeto siga al puntero a la misma velocidad que éste, entonces se debería usar simplemente
[gml]x=mouse_x
y=mouse_y[/gml]

hice lo siguiente:

STEP
if mouse_check_button_pressed(mb_left)
{
x=mouse_x
y=mouse_y
}


y cuando le hago click al objeto se va a una esquina de la room

El código que puse no va solo en STEP y así no va a funcionar. Yo me refiero a que en el código del primer mensaje, se debe intercambiar la parde de
x=mouse_x-seguirx
y=mouse_y-seguiry

por[gml]
x=mouse_x
y=mouse_y[/gml]

Cita de: penumbra en Febrero 14, 2015, 03:16:56 AM
El código que puse no va solo en STEP y así no va a funcionar. Yo me refiero a que en el código del primer mensaje, se debe intercambiar la parde de
x=mouse_x-seguirx
y=mouse_y-seguiry

por[gml]
x=mouse_x
y=mouse_y[/gml]

Ya había hecho eso también pero no había visto mucha diferencia.

Pero viendo bien me di cuenta de que si funciona, aunque sea una mínima diferencia pero si funciono.

Muchas gracias estuve casi 2 semanas buscando la solución.