SDL : récupérer le clavier en plusieurs fois
Fermé
astrocurieux
-
21 mars 2016 à 19:29
paly2 Messages postés 254 Date d'inscription vendredi 29 août 2014 Statut Membre Dernière intervention 15 février 2018 - 3 juin 2016 à 16:56
paly2 Messages postés 254 Date d'inscription vendredi 29 août 2014 Statut Membre Dernière intervention 15 février 2018 - 3 juin 2016 à 16:56
A voir également:
- SDL : récupérer le clavier en plusieurs fois
- Menu SDL pour mon jeu ✓ - Forum C
- Problème de disparition de la fenêtre (SDL) - Forum Programmation
- SDL (C) Modifier emplacement de la DLL ✓ - Forum Programmation
- [SDL] Mon code ne m'affiche pas mon image ? ✓ - Forum C
1 réponse
paly2
Messages postés
254
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
15 février 2018
25
3 juin 2016 à 16:56
3 juin 2016 à 16:56
event n'est ni un nombre, ni une lettre (au passage, une lettre est un nombre en C) : c'est une structure de type SDL_Event, dont tu trouveras la documentation ici : https://wiki.libsdl.org/SDL_Event
Note qu'un événement n'est pas forcément une touche appuyée. C'est le cas seulement si event.type (qui pour le coup est un nombre) est égal à SDL_KEYDOWN .
Si une touche est appuyée, les informations concernant cette touche se trouvent dans la sous-structure event.key de type SDL_KeyboardEvent, et notamment le nom de la touche dans event.key.keysym.sym (et ce n'est ni un nombre, ni une strucutre, c'est une énumération).
Il te faut donc faire un switch (par exemple) pour faire correspondre à chaque valeur de event.key.keysym.sym un caractère de type char. La documentation t'y aidera: https://wiki.libsdl.org/SDL_Keycode .
Ta fonction doit ensuite ajouter le caractère obtenu à la fin de ta chaîne name.
Note qu'un événement n'est pas forcément une touche appuyée. C'est le cas seulement si event.type (qui pour le coup est un nombre) est égal à SDL_KEYDOWN .
Si une touche est appuyée, les informations concernant cette touche se trouvent dans la sous-structure event.key de type SDL_KeyboardEvent, et notamment le nom de la touche dans event.key.keysym.sym (et ce n'est ni un nombre, ni une strucutre, c'est une énumération).
Il te faut donc faire un switch (par exemple) pour faire correspondre à chaque valeur de event.key.keysym.sym un caractère de type char. La documentation t'y aidera: https://wiki.libsdl.org/SDL_Keycode .
Ta fonction doit ensuite ajouter le caractère obtenu à la fin de ta chaîne name.