Mayo 29, 2017, 11:57:42 PM Ultima modificación: Junio 03, 2017, 11:10:41 PM por JasperStealth
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.


Evento key release: speed = 0;
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

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

x+=4 //right
x-=4 //left


talvez te sirva, el 4 es digamos la velocidad de movimiento.

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
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

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.
Arkangello