Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Crear un sistema interno para configurar el teclado  (Leído 166 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado HKaichim

en: Septiembre 08, 2018, 03:03:41 am
Buenas, tengo una duda. Me gustaria saber si es posible crear un sistema interno para configurar las teclas del personaje para que pueda utilizar tanto los Arrow del Teclado como las teclas "WDSA", pero estas ya siendo elegidas desde antes? "No sé si me hice entender"


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado BssString

Respuesta #1 en: Septiembre 08, 2018, 05:02:56 am
Hola HKaichim

No entendí lo que quieres decir con el "ya siendo elegidas desde antes", pero Game Maker te permite enlazar una tecla a otra tecla mediante la función "keyboard_set_map". Eso significa que al pulsar una tecla, en realidad Game Maker detecta que estás pulsando otra.
En el Create Event.
Código: [Seleccionar]
keyboard_set_map(vk_right,ord("D"))
keyboard_set_map(vk_up,ord("W"))
keyboard_set_map(vk_left,ord("A"))
keyboard_set_map(vk_down,ord("S"))

Eso enlaza las flechas de dirección a su respectiva letra en WASD, cada vez que pulsas una flecha en tu teclado, para Game Maker en realidad estás pulsando una letra WASD.

De esa forma, puedes hacer:
Código: [Seleccionar]
if keyboard_check(ord("D")) { x += hspeed }Para moverte tanto con la flecha derecha, como con la tecla "D".

Saludos

 
Los siguientes usuarios dieron las gracias a este tema: HKaichim


Desconectado HKaichim

Respuesta #2 en: Septiembre 09, 2018, 04:33:45 am
Hola HKaichim

No entendí lo que quieres decir con el "ya siendo elegidas desde antes", pero Game Maker te permite enlazar una tecla a otra tecla mediante la función "keyboard_set_map". Eso significa que al pulsar una tecla, en realidad Game Maker detecta que estás pulsando otra.
En el Create Event.
Código: [Seleccionar]
keyboard_set_map(vk_right,ord("D"))
keyboard_set_map(vk_up,ord("W"))
keyboard_set_map(vk_left,ord("A"))
keyboard_set_map(vk_down,ord("S"))

Eso enlaza las flechas de dirección a su respectiva letra en WASD, cada vez que pulsas una flecha en tu teclado, para Game Maker en realidad estás pulsando una letra WASD.

De esa forma, puedes hacer:
Código: [Seleccionar]
if keyboard_check(ord("D")) { x += hspeed }Para moverte tanto con la flecha derecha, como con la tecla "D".

Saludos
Funciona de la misma forma si utilizo "D" en vez de los Arrow? Gracias por tu explicación


Desconectado BssString

Respuesta #3 en: Septiembre 09, 2018, 04:43:38 am
Hola HKaichim

Depende de como hagas el map. El ejemplo que te di arriba es para que el código lo escribas utilizando las letras.
Debes escribir el código de esta forma: keyboard_check(ord("D"))
La función devuelve verdadero cuando apretas tanto "D" como cuando apretas "vk_right".
Favor notar que la función no es simétrica.
Si en cambio en tu código usas: keyboard_check(vk_right)
Sólo te va a detectar cuando pulsas "vk_right" y NO cuando pulsas "D" (a menos que hagas el keyboard_map a la inversa, de la tecla vk_right asignada a la tecla D)

Lo otro, noté que el post tiene el ícono es de GameMaker7, no conozco ese programa y no sé si la función está disponible. Por favor corroboralo. Si la función no existe podemos buscar una alternativa utilizando variables.

Saludos

 
Los siguientes usuarios dieron las gracias a este tema: HKaichim


Desconectado HKaichim

Respuesta #4 en: Septiembre 09, 2018, 05:04:01 am
Hola HKaichim

Depende de como hagas el map. El ejemplo que te di arriba es para que el código lo escribas utilizando las letras.
Debes escribir el código de esta forma: keyboard_check(ord("D"))
La función devuelve verdadero cuando apretas tanto "D" como cuando apretas "vk_right".
Favor notar que la función no es simétrica.
Si en cambio en tu código usas: keyboard_check(vk_right)
Sólo te va a detectar cuando pulsas "vk_right" y NO cuando pulsas "D" (a menos que hagas el keyboard_map a la inversa, de la tecla vk_right asignada a la tecla D)

Lo otro, noté que el post tiene el ícono es de GameMaker7, no conozco ese programa y no sé si la función está disponible. Por favor corroboralo. Si la función no existe podemos buscar una alternativa utilizando variables.

Saludos
Gracias, en verdad estaba algo ladillado de programar dos personajes distintos uno con el codigo de "vk" y el otro con el codigo "ord" estoy revisando mi version del Game Maker y me da estas opciones "keyboard_get_map" "keyboard_set_map" y el ultimo llamado "keyboard_unset_map"