Outils d'utilisateurs

Outils du Site


qt_gamepad_implementation_windows_premiere_partie

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

qt_gamepad_implementation_windows_premiere_partie [2014/04/05 19:30]
87.100.112.252 [Gestion du gamepad sous Windows]
qt_gamepad_implementation_windows_premiere_partie [2014/04/05 19:34] (Version actuelle)
87.100.112.252 [La classe GamepadEvent]
Ligne 42: Ligne 42:
 ===== Détecter les gamepads connectés ===== ===== Détecter les gamepads connectés =====
  
-Il est possible de gérer jusqu'à 16 gamepads en même temps avec les pilotes Windows. Il faut inclure le fichier d'en-tête window.h et la bibliothèque Winmm.dll. Chaque gamepad physique est identifié par un ID de type unsigned int. Il faut également gérer les gamepads virtuels, donc on va réserver les valeurs d'ID inférieur à 256 pour les gamepads physiques.+Il est possible de gérer jusqu'à 16 gamepads en même temps avec les pilotes Windows. Il faut inclure le fichier d'en-tête window.h et la bibliothèque Winmm.dll. Chaque gamepad physique est identifié par un ID de type unsigned int. Il faut également gérer les gamepads virtuels, donc on va réserver les valeurs d'ID inférieures à 256 pour les gamepads physiques.
  
 Pour connaître le nombre de gamepads physiques possibles, il faut utiliser la fonction joyGetNumDevs : Pour connaître le nombre de gamepads physiques possibles, il faut utiliser la fonction joyGetNumDevs :
Ligne 62: Ligne 62:
 </code> </code>
  
-Pour commencer, on vas tester la connexion de tous les gamepads à chaque update du timer. terme, il faudra tester le coût de ces tests en continue et voir s'il faut optimiser (faire un test des connexions moins souvent que le test des changements de valeur).+Pour commencer, on va tester la connexion de tous les gamepads à chaque update du timer. À terme, il faudra tester le coût de ces tests en continu et voir s'il faut optimiser (faire un test des connexions moins souvent que le test des changements de valeur).
  
 ===== Récupérer les informations d'un gamepad ===== ===== Récupérer les informations d'un gamepad =====
Ligne 74: Ligne 74:
 </code> </code>
  
-Les différents sticks et boutons sont identifiés avec des lettres et des chiffres. Il n'est pas possible de nommer explicitement ces éléments puisqu'ils peuvent changer d'une manette à l'autre. L'image suivante présente la correspondance des identifiants sur une manette XBox. Je détaillerais ça dans un prochain article.+Les différents sticks et boutons sont identifiés avec des lettres et des chiffres. Il n'est pas possible de nommer explicitement ces éléments puisqu'ils peuvent changer d'une manette à l'autre. L'image suivante présente la correspondance des identifiants sur une manette XBox. Je détaillerai ça dans un prochain article.
  
 {{ :x360controller2.png?500 | Liste des contrôles sur une manettes XBox }} {{ :x360controller2.png?500 | Liste des contrôles sur une manettes XBox }}
Ligne 116: Ligne 116:
 ===== La classe GamepadEvent ===== ===== La classe GamepadEvent =====
  
-La classe GamepadEvent dérive de QEvent et définie un nouveau type d'événement. La définition des fonctionnalités de base de cette classe est la suivante :+La classe GamepadEvent dérive de QEvent et définit un nouveau type d'événement. La définition des fonctionnalités de base de cette classe est la suivante :
  
 <code cpp-qt> <code cpp-qt>
Ligne 159: Ligne 159:
 </code> </code>
  
-Id correspond à l’identifiant du gamepad, les valeurs réelles sont comprise entre -1 et 1 et correspondent aux boutons analogiques du gamepad (sticks, gachettes), sauf la valeur POV (point-of-view) qui est comprise entre 0 et 360 degrés. Les boutons correspondante à une combinaison de valeurs qu'il faut tester avec l'opérateur binaire AND :+Id correspond à l’identifiant du gamepad, les valeurs réelles sont comprises entre -1 et 1 et correspondent aux boutons analogiques du gamepad (sticks, gachettes), sauf la valeur POV (point-of-view) qui est comprise entre 0 et 360 degrés. Les boutons correspondants à une combinaison de valeurs qu'il faut tester avec l'opérateur binaire AND :
  
 <code cpp-qt> <code cpp-qt>
qt_gamepad_implementation_windows_premiere_partie.1396719056.txt.gz · Dernière modification: 2014/04/05 19:30 par 87.100.112.252