Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: vitail en Noviembre 20, 2014, 11:59:58 PM

Título: Como hago que cuando colisione el otro objeto pare en GML?
Publicado por: vitail en Noviembre 20, 2014, 11:59:58 PM
Bueno esa es mi pregunta  ;D ;D ;D

estoy haciendo un juego top down y necesito como hacer colisiones contra un bloque
Título: Re:Como hago que cuando colisione el otro objeto pare en GML?
Publicado por: kostra en Noviembre 21, 2014, 12:57:07 AM
if keyboard_check(vk_up)
{
    if place_free(x,y-spd) y -= spd;
}

para moverse arriba y chocar con la pared, para las demás direcciones lo mismo pero cada uno con su direccion (cambiando x,y y la tecla xd). spd la eliges tú, las dos que pone, que sean iguales para evitar algunos errores
Título: Re:Como hago que cuando colisione el otro objeto pare en GML?
Publicado por: elviskelley en Noviembre 21, 2014, 01:38:32 AM
move_contac_solid(direction,speed) speed=0;
//En el event de colicion contra lo que sea.
Título: Re:Como hago que cuando colisione el otro objeto pare en GML?
Publicado por: vitail en Noviembre 22, 2014, 03:20:56 AM
Cita de: kostra en Noviembre 21, 2014, 12:57:07 AM
if keyboard_check(vk_up)
{
    if place_free(x,y-spd) y -= spd;
}

para moverse arriba y chocar con la pared, para las demás direcciones lo mismo pero cada uno con su direccion (cambiando x,y y la tecla xd). spd la eliges tú, las dos que pone, que sean iguales para evitar algunos errores

No me sirve porque yo utilizo objetos como obj_grass y lo toma como si fuera un solido
Título: Re:Como hago que cuando colisione el otro objeto pare en GML?
Publicado por: eams1986 en Noviembre 22, 2014, 05:35:09 AM
En collision con el bloque Move_contact_solido(direccion,16) //el 16 va dependiendo de tu sprite
Vspeed =0

Saludos.
Título: Re:Como hago que cuando colisione el otro objeto pare en GML?
Publicado por: kostra en Noviembre 22, 2014, 11:25:11 AM
pues no le marques la casilla sólida xdd obviously xd
también puedes cambiar el place_free(x,y) por un !place_meeting(x,y,obj); pero es más chustón xd