Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: JasperStealth en Mayo 29, 2017, 11:57:42 PM

Título: Problema con movimiento del personaje (SOLUCIONADO)
Publicado por: JasperStealth en Mayo 29, 2017, 11:57:42 PM
Hola gente, apenas estoy aprendiendo a programar en gml y mi problema es el siguiente. Si quiero que el pj se mueva hacia la izquierda (opirmo la flecha izq) PERO si mantengo oprimida cualquier otra tecla (menos la x porque la tengo asignada para el ataque del pj)  y suelto la flecha el pj sigue caminando, y quiero que apenas suelte la flecha deje de caminar.

Gracias.

Título: Re:Problema con movimiento del personaje
Publicado por: kostra en Mayo 30, 2017, 01:15:36 AM
Evento key release: speed = 0;
Título: Re:Problema con movimiento del personaje
Publicado por: wilodxd en Mayo 31, 2017, 12:23:38 AM
Puede ser porque para detener el jugador tienes la funcion "nokey" que es cuando no se presiona niguna tecla. En resumen este evento no se ejecutara a menos que no haya ninguna tecla presionada. Asi que de este modo al moverte y presionar cualquier otra tecla simplemente no se detendra el jugador ya que segun lo tienes no debe haber ninguna tecla presionada.
Para arreglarlo solo haz un evento de 'key released' que es cuando dejas de presionar una tecla ~~ ahi ejecuta el codigo(se puede hacer de muchas formas ve la que te acomode mas).
En fin suerte
Título: Re:Problema con movimiento del personaje
Publicado por: brsmelmang en Mayo 31, 2017, 01:02:58 AM
x+=4 //right
x-=4 //left


talvez te sirva, el 4 es digamos la velocidad de movimiento.
Título: Re:Problema con movimiento del personaje
Publicado por: kostra en Junio 03, 2017, 04:40:45 PM
Lo que dice brs es lo mejor, wilo lo que dices podria fallar al estar oprimiendo otra tecla, por ejemplo un disparo automatico, se confrontaria pienso yo
Título: Re:Problema con movimiento del personaje
Publicado por: Product_Indepen_HQ en Junio 03, 2017, 10:00:23 PM
if place_free(x+4,y) and keyboard_check(vk_right)
{x+=4
sprite_index=sprite14
}
if place_free(x-4,y) and keyboard_check(vk_left)
{x-=4
sprite_index=sprite22
}

if place_free(x,y+4) and keyboard_check(vk_down)
{y+=4}
if place_free(x,y-4) and keyboard_check(vk_up)
{y-=4}

YO USO ALGO ASÍ PARA LOS MOVIMIENTOS, NO SE SI TE SEA DE AYUDA.
Título: Re:Problema con movimiento del personaje
Publicado por: JasperStealth en Junio 03, 2017, 11:10:16 PM
Gracias gente, fueron de mucha ayuda.