Ver la versión completa : Técnicas para comprobar la pulsación de botones de la GP en SDL
J_F_NASH
21/04/2007, 17:52
Normalmente para comprobar la pulsación de teclas en SDL utilizo esto:
Uint8 *TECLAS = SDL_GetKeyState(NULL);
if(TECLAS[SDLK_RIGHT]){
Mueve();
}
¿Existe algo como esto para los botones de la GP?
Me refiero a si existe algo como:
*JOY = SDL_GetJoyState();
Porque es lo mas cómodo, la verdad. ¿Cual sería la forma mas parecida a la que he puesto?
S2.
JimmySlam
21/04/2007, 18:15
YO he usao:
if (SDL_JoystickGetButton(joystick, GP2X_BUTTON_DOWNRIGHT)){
//lo que sea
};
Y funcionaba bien :)
Hay que decir que:
SDL_Joystick *joystick;
y que antes de nada:
#ifdef GP2X
#define GP2X_BUTTON_UP 0
#define GP2X_BUTTON_DOWN 4
#define GP2X_BUTTON_LEFT 2
#define GP2X_BUTTON_RIGHT 6
#define GP2X_BUTTON_UPLEFT 1
#define GP2X_BUTTON_UPRIGHT 7
#define GP2X_BUTTON_DOWNLEFT 3
#define GP2X_BUTTON_DOWNRIGHT 5
#define GP2X_BUTTON_CLICK 18
#define GP2X_BUTTON_A 12
#define GP2X_BUTTON_B 13
#define GP2X_BUTTON_Y 15
#define GP2X_BUTTON_X 14
#define GP2X_BUTTON_R 11
#define GP2X_BUTTON_L 10
#define GP2X_BUTTON_START 8
#define GP2X_BUTTON_SELECT 9
#define GP2X_BUTTON_VOLUP 16
#define GP2X_BUTTON_VOLDOWN 17
#endif
#ifdef WIN32
#endif
Si te hace falta mas dimelo esue hace muchisimo que no programo nada en SDL y lo tengo casi olvidao todo...
J_F_NASH
24/04/2007, 20:09
Es lo que buscaba, gracias.
S2.
J_F_NASH
26/04/2007, 21:08
Vaya, acabo de probarlo en la GP2x y ¡¡no funciona!!. Antes solo me cercionaba de que compilase sin errores pero al probarlo en la gp2x ¡no funciona!, es como si NO hubiese presionado el botón, vamos.
S2.
^MiSaTo^
27/04/2007, 08:44
Vaya, acabo de probarlo en la GP2x y ¡¡no funciona!!. Antes solo me cercionaba de que compilase sin errores pero al probarlo en la gp2x ¡no funciona!, es como si NO hubiese presionado el botón, vamos.
S2.
Tienes que inicializar el joystick antes de nada.
J_F_NASH
27/04/2007, 12:23
Tienes que inicializar el joystick antes de nada.
Era eso.
Muchas gracias.
< - >
Tengo un otro pequeño problema:
Cuando desplazo el joystick hacia la derecha mi personaje va constantemente en esa direccion PERO lo que yo quiero es que solo se mueva una posición y el usuario tenga que volver a pulsar derecha para desplazarse otra posición.
Con las teclas lo hacia de la siguiente forma:
if(TECLAS[SDLK_RIGHT]){
Mover(derecha);
TECLAS[SDLK_RIGHT] = 0;
}
¿Hay alguna forma de hacerlo con Joysticks?
S2.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.