Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Kain88 en Marzo 30, 2015, 08:53:12 AM

Título: Consulta sobre joystick
Publicado por: Kain88 en Marzo 30, 2015, 08:53:12 AM
Hola, tengo una duda sobre las funciones del joystick en game maker. Los botones se reconocen con joystick_check_button con 1, 2, 3... pero como me refiero a las direcciones? Probe con poner "left", "right", "up" y "down" pero el game maker no las reconoce, y me fije en el manual y no vi que figuren.
Título: Re:Consulta sobre joystick
Publicado por: penumbra en Marzo 30, 2015, 09:24:01 AM
Este es el código de ejemplo que incluye el manual
[gml]
switch (joystick_direction(1))
{
   case vk_numpad1: direction = 225; break;
   case vk_numpad2: direction = 270; break;
   case vk_numpad3: direction = 315; break;
   case vk_numpad4: direction = 180; break;
   case vk_numpad6: direction = 0; break;
   case vk_numpad7: direction = 135; break;
   case vk_numpad8: direction = 90; break;
   case vk_numpad9: direction = 45; break;
}
[/gml]

Las funciones joystick devuelven un código de tecla del pad numérico, dependiendo de la dirección del joystick (vk_numpad8 si es arriba, vk_numpad2 si es abajo, etc.). También puedes usar en DRAW
[gml]draw_text(10, 10," Direccion: " + joystick_direction(1) )[/gml]
Cuando muevas el joystick, se dibujará en pantalla el código de tecla correspondiente a esa dirección (un número). Puedes anotar los 8 números y usarlos en lugar de las constantes  vk_numpad1,  vk_numpad2, etc


Título: Re:Consulta sobre joystick
Publicado por: elviskelley en Marzo 30, 2015, 02:21:06 PM
hay tambien otra manera que es sencilla. colocas todos los codigos de movimientos en teclas
ejemplo en el event key left. y en el joitick tambien puedes usar event de joitick estan en mouse.  colocas llamar a presionar esa tecla.  keyboard_key_press(vk_left)
keyboard_key_release(vk_left); siempre debe ir debajo el de release, para que deje de presionar la tecla. Es como una presion virtual de la tecla.
Yo lo hago asi pues resulta mucho mas sencillo, ademas de que dejo opcion de jugar con teclado o joitick segun el jugador lo desee.
Título: Re:Consulta sobre joystick
Publicado por: Kain88 en Marzo 30, 2015, 09:42:40 PM
Ah lo de joystick en mouse no me figura, sera que tengo una version desactualizada?
Título: Re:Consulta sobre joystick
Publicado por: penumbra en Marzo 30, 2015, 09:50:33 PM
Cita de: Kain88 en Marzo 30, 2015, 09:42:40 PM
Ah lo de joystick en mouse no me figura, sera que tengo una version desactualizada?
No, al contrario. Esos eventos estaban en versiones anteriores de GM, ahora en GMS ya no están.
Título: Re:Consulta sobre joystick
Publicado por: Kain88 en Marzo 31, 2015, 12:00:35 AM
Ah buenisimo, voy a probar con los metodos que me pasaron entonces, gracias!
Título: Re:Consulta sobre joystick
Publicado por: Kain88 en Marzo 31, 2015, 08:57:06 PM
Una ultima duda sobre el tema: Asi como en el teclado se usa keyboard_check_released, como indico con el joystick cuando un botón se deja de presionar?
Título: Re:Consulta sobre joystick
Publicado por: penumbra en Marzo 31, 2015, 09:04:21 PM
No hay una función directa para hacer eso en el joystick. Tendrías que crear tu propio mecanismo para hacerlo.

Aparte de las funciones joystick, existen las funciones gamepad. Las funciones joystick se incluyen en GMS para darle compatibilidad a viejos proyectos de GM8, las funciones gamepad son nuevas/mejoradas y si incorporan función para detectar estados pressed y released en los botones, pero necesitas un control compatible (muchos controles genéricos sólo funcionan con las funciones joystick y no con las gamepad). ¿Ya probaste tu control para ver si funciona con gamepad?
Título: Re:Consulta sobre joystick
Publicado por: Kain88 en Marzo 31, 2015, 09:08:47 PM
Lo voy a probar ahora, en "device" que deberia poner?