Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: desplo en Febrero 02, 2015, 12:53:25 AM

Título: FATAL ERROR en codigo?
Publicado por: desplo en Febrero 02, 2015, 12:53:25 AM
El siguiente codigo me da un error:
Create
globalvar seguirmouse,seguirmousex,seguirmousey;
Step
if seguirmouse==id and mouse_check_button(mb_left) then
{

    x=mouse_x-seguirmousex
    y=mouse_y-seguirmousey
   
}
else
{
    if !mouse_check_button(mb_left) then seguirmouse=0
}

if collision_point(mouse_x,mouse_y,all,1,0)==id and mouse_check_button(mb_left) and seguirmouse==0 then
{

    seguirmousex=mouse_x-x
    seguirmousey=mouse_y-y
    seguirmouse=id

}


y el error es:
Citar############################################################################################
FATAL ERROR in
action number 1
of  Step Event0
for object personaje:

Push :: Execution Error - Variable Get -5.seguirmouse(100004, -2147483648)
at gml_Object_personaje_StepNormalEvent_1  (line 12) -     x=mouse_x-seguirmousex
############################################################################################

La idea es que al presionar al objeto, este siga el mouse
Título: Re:FATAL ERROR en codigo?
Publicado por: TLT96 en Febrero 02, 2015, 02:00:18 AM
Cita de: desplo en Febrero 02, 2015, 12:53:25 AM
El siguiente codigo me da un error:
Create
globalvar seguirmouse,seguirmousex,seguirmousey;
Step
if seguirmouse==id and mouse_check_button(mb_left) then
{

    x=mouse_x-seguirmousex
    y=mouse_y-seguirmousey
   
}
else
{
    if !mouse_check_button(mb_left) then seguirmouse=0
}

if collision_point(mouse_x,mouse_y,all,1,0)==id and mouse_check_button(mb_left) and seguirmouse==0 then
{

    seguirmousex=mouse_x-x
    seguirmousey=mouse_y-y
    seguirmouse=id

}


y el error es:
Citar############################################################################################
FATAL ERROR in
action number 1
of  Step Event0
for object personaje:

Push :: Execution Error - Variable Get -5.seguirmouse(100004, -2147483648)
at gml_Object_personaje_StepNormalEvent_1  (line 12) -     x=mouse_x-seguirmousex
############################################################################################

La idea es que al presionar al objeto, este siga el mouse

Bueno, el codigo en si esta malo, en donde lo tienes? en el personaje o en otro lado?, prueba este para el personaje

Create
drag=0
Step
if drag=1
{if distance_to_point(mouse_x,mouse_x)>=2 mp_linear_step(mouse_x,mouse_x,2,0)}

if mouse_check_button_pressed(mb_left)
if mouse_x>=x-32 and mouse_x<=x+32 if mouse_y>=y-32 and mouse_y<=y+32
drag=1

if mouse_check_button_released(mb_left)
if mouse_x>=x-32 and mouse_x<=x+32 if mouse_y>=y-32 and mouse_y<=y+32
drag=0


No ando con el Game Maker horita pero eso deberia funcionar...
Título: Re:FATAL ERROR en codigo?
Publicado por: penumbra en Febrero 02, 2015, 02:12:51 AM
El error se debe a que en STEP estás haciendo esto:

[gml]if seguirmouse == id[/gml]

las dos cosas que se comparan deben tener un valor correcto, en tu caso, globalvar NO TIENE NINGÚN VALOR (en CREATE declaraste la variable, pero no se inicializó con ningún valor). Si seguirmouse no posee valor, es imposible compararla contra otra cosa, por eso GMS da el error
Título: Re:FATAL ERROR en codigo?
Publicado por: desplo en Febrero 02, 2015, 02:17:13 AM
Cita de: TLT96 en Febrero 02, 2015, 02:00:18 AM
Cita de: desplo en Febrero 02, 2015, 12:53:25 AM
El siguiente codigo me da un error:
Create
globalvar seguirmouse,seguirmousex,seguirmousey;
Step
if seguirmouse==id and mouse_check_button(mb_left) then
{

    x=mouse_x-seguirmousex
    y=mouse_y-seguirmousey
   
}
else
{
    if !mouse_check_button(mb_left) then seguirmouse=0
}

if collision_point(mouse_x,mouse_y,all,1,0)==id and mouse_check_button(mb_left) and seguirmouse==0 then
{

    seguirmousex=mouse_x-x
    seguirmousey=mouse_y-y
    seguirmouse=id

}


y el error es:
Citar############################################################################################
FATAL ERROR in
action number 1
of  Step Event0
for object personaje:

Push :: Execution Error - Variable Get -5.seguirmouse(100004, -2147483648)
at gml_Object_personaje_StepNormalEvent_1  (line 12) -     x=mouse_x-seguirmousex
############################################################################################

La idea es que al presionar al objeto, este siga el mouse

Bueno, el codigo en si esta malo, en donde lo tienes? en el personaje o en otro lado?, prueba este para el personaje

Create
drag=0
Step
if drag=1
{if distance_to_point(mouse_x,mouse_x)>=2 mp_linear_step(mouse_x,mouse_x,2,0)}

if mouse_check_button_pressed(mb_left)
if mouse_x>=x-32 and mouse_x<=x+32 if mouse_y>=y-32 and mouse_y<=y+32
drag=1

if mouse_check_button_released(mb_left)
if mouse_x>=x-32 and mouse_x<=x+32 if mouse_y>=y-32 and mouse_y<=y+32
drag=0


No ando con el Game Maker horita pero eso deberia funcionar...

Ya pude arreglar el codigo que yo tenia.

Probe el tuyo y igual funciona.

Gracias :)