Hola me pueden pasar algun codigo para que si presiono 2 teclas a la vez el game maker solo registre una, lo que pasa es cuando presiono algunas keys en particular juntas mi personaje hace cosas raras. gracias
No entiendo bien, ¿esas teclas que presionas juntas es a propósito o cómo? ¿qué es lo que quieres evitar? por favor da un ejemplo de qué situación quieres o no quieres que pase, por ejemplo, ¿quieres evitar que al presionar tecla izquierda se detecte la tecla derecha?
HOLA algunas veces cuando preciono 2 teclas a la vez digamos "up" y "A" (up es salto y "A" es golpe: al precionarlo se llama un script que crea el obj_attackbox que el que resta energia al contrario) cuando preciono una tecla primero y luego la otra no hay problema, pero si preciono "up" y "A" a la vez el personaje hace cosas extrañas (el personaje salta y da 3 golpes con el sprite de golpe en el suelo, no en el aire.y claro se crea el obj_attackbox pero golpeando una sola vez. entonces pense que talvez existia un code que bloqueara una tecla mientras se precionan las 2 a la vez para evitar este tipo de fallos
Se me ocurren varias maneras de solucionarlo, te voy a dar la que me agrada más (que probablemente no es la ideal)
en el evento key pressed (el que detecta sólo cuando la tecla pasa de no presionada a presionada) de la tecla UP, haces
alarm[10] = room_speed * 2
en el evento key pressed de la tecla A
alarm[11] = room_speed * 2
en STEP
if (alarm[11] - alarm[10]) >15 //asegurar no sólo que no se presionen al mismo tiempo, sino que se presione antes la tecla de salto
{
if (no hay contacto con el suelo)
{
//atacar en el aire
}
}
En el if anidado tú decides qué método usar para saber si el jugador está en el aire, puede ser revisar vspeed, o gravity, o alguna otra variable de tu engine. Acá no se necesita hacer algo en los eventos de alarma 10 y 11, éstas solo se usan como un contador
EDITADO: modifiqué la condición del primer if porque estaba errónea. El 15 en esta condición es un número con el que debes jugar dependiendo de qué tan rápido el jugador puede presionar la tecla de ataque después de haber presionado la de salto. Siempre debe ser positivo