Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: ian12 en Agosto 26, 2015, 09:52:48 AM

Título: ¿Desactivar temporalmente las teclas? (resuelto)
Publicado por: ian12 en Agosto 26, 2015, 09:52:48 AM
Hola, bueno.. He buscado y rebuscado por todos lados y no hayo una forma de hacer que se desactive temporalmente la utilización de teclas a un nivel global, ni con una variable de este tipo :/ . Quiero poder usarlo en ocasiones como cuando se muestra el icono de autosave o durante las cutscenes.

Gracias de antemano.
Título: Re:¿Desactivar temporalmente las teclas?
Publicado por: penumbra en Agosto 26, 2015, 11:12:40 AM
Deberías mostrar qué código usas, porque lo que quieres hacer es bastante fácil, entonces es más sencillo ver dónde está la falla exactamente. Por ejemplo, si yo uso este código para mover el jugador a la derecha
[gml]
if keyboard_check(ord('A'))
     x += 4
[/gml]
y quiero deshabilitarlo, entonces haría algo como:
[gml]
if (room != room_cutscene) and (!cutscene) and (!autosave)
{
     if keyboard_check(ord('A'))
          x += 4
}
[/gml]
Los tiempos de guardado en GM son bastante cortos, así que no le veo sentido a deshabilitar el teclado, pero obviamente que se puede hacer. En el ejemplo, el jugador sólo se moverá si no se está en na habitación de cutscene, o si no está activo el autosave o si no está activo una cutscene. Obviamente, las dos últimas variables se tienen que actualizar correctamente en STEP para que el código funciones, pero eso depende de tu juego.
Título: Re:¿Desactivar temporalmente las teclas?
Publicado por: ian12 en Septiembre 01, 2015, 02:28:52 PM
Cita de: penumbra en Agosto 26, 2015, 11:12:40 AM
Deberías mostrar qué código usas, porque lo que quieres hacer es bastante fácil, entonces es más sencillo ver dónde está la falla exactamente. Por ejemplo, si yo uso este código para mover el jugador a la derecha
[gml]
if keyboard_check(ord('A'))
     x += 4
[/gml]
y quiero deshabilitarlo, entonces haría algo como:
[gml]
if (room != room_cutscene) and (!cutscene) and (!autosave)
{
     if keyboard_check(ord('A'))
          x += 4
}
[/gml]
Los tiempos de guardado en GM son bastante cortos, así que no le veo sentido a deshabilitar el teclado, pero obviamente que se puede hacer. En el ejemplo, el jugador sólo se moverá si no se está en na habitación de cutscene, o si no está activo el autosave o si no está activo una cutscene. Obviamente, las dos últimas variables se tienen que actualizar correctamente en STEP para que el código funciones, pero eso depende de tu juego.


Ya lo resolví, asignando un valor de 0 a las variables de las teclas de movimiento mientras dure la animación. Gracias igual..