SDL

Alias -  
Smiley32 Messages postés 155 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai repris le code que quelqu'un avait fait sur le site du zero pour la gestion des evenement en SDL :

typedef struct
{
char key[SDLK_LAST];
int mousex,mousey;
int mousexrel,mouseyrel;
char mousebuttons[8];
char quit;
} Input;

void UpdateEvents(Input* in)
{
SDL_Event event;
in->mousebuttons[SDL_BUTTON_WHEELUP] = 0;
in->mousebuttons[SDL_BUTTON_WHEELDOWN] = 0;
while(SDL_PollEvent(&event))
{
switch (event.type)
{
case SDL_KEYDOWN:
in->key[event.key.keysym.sym]=1;
break;
case SDL_KEYUP:
in->key[event.key.keysym.sym]=0;
break;
case SDL_MOUSEMOTION:
in->mousex=event.motion.x;
in->mousey=event.motion.y;
in->mousexrel=event.motion.xrel;
in->mouseyrel=event.motion.yrel;
break;
case SDL_MOUSEBUTTONDOWN:
in->mousebuttons[event.button.button]=1;
break;
case SDL_MOUSEBUTTONUP:
if (event.button.button!=SDL_BUTTON_WHEELUP && event.button.button!=SDL_BUTTON_WHEELDOWN)
in->mousebuttons[event.button.button]=0;
break;
case SDL_QUIT:
in->quit = 1;
break;
default:
break;
}
}
}

Sauf que je ne sais c'est pas comment je peux faire pour tester si l'utilisateur a appuyé sur la touche shift.
En effet, si j'utlise une variable event, j'a juste a marqué l'instruction suivante :
event.key.keysym.mod
Sauf que dans son code n'apparait pas
event.key.keysym.mod
.

Comment faire ?

1 réponse

Smiley32 Messages postés 155 Date d'inscription   Statut Membre Dernière intervention   23
 
Salut
Dans le case, tu rajoute ta variable event pour shift :
case SDL_KEYDOWN:
in->key[event.key.keysym.mod]=1;
break;
0