Introduction
Dans ce nouveau chapitre sur le Framework XNA 3.1, nous allons apprendre à gérer le clavier et la souris. C’est une étape importante de notre apprentissage, car ce sont les seuls moyens d’interagir avec votre jeu.
Le clavier
Gérer le clavier en XNA est relativement simple. En effet, le Framework XNA 3.1 nous fournit tout le nécessaire pour l’utiliser. Nous aurons besoin des classes Keyboard et KeyboardState, ainsi que de l’énumération Keys. Keyboard nous servira à récupérer différentes informations sur le clavier de façons statiques. KeyboardState permettra d’avoir une image de l’état du clavier à un instant T, et Keys est l’énumération qui nous permettra de spécifier quelle touche gérer.
Récupérer les entrées utilisateurs est la première étape de notre « boucle infinie ». Nous allons donc effectuer cette étape dans la méthode Update de notre classe Game. Cette méthode se présente ainsi :

Vous allez supprimer les deux premières lignes de code de la méthode, qui nous sont inutiles pour l’instant. Nous devons avoir ceci désormais :

Attaquons le vif du problème maintenant. Pour commencer, déclarez un objet de type KeyboardState au niveau de notre classe Game :

Ensuite, au début de votre méthode Update, insérez cette ligne de code :

Explication : nous récupérons l’état du clavier à cet instant T à partir de la méthode statique GetState() de la classe Keyboard. Nous aurons ainsi une image des touches pressées à cet instant précis. Voici comment tester si une touche est pressée (exemple avec la lettre A) :

Insérez ces lignes de code juste après la récupération de l’état du clavier, dans la méthode Update. Vous pouvez procéder ainsi pour n’importe quelle touche.
La souris
Il n’est guère plus compliqué de gérer la souris en XNA. A la place des classes Keyboard et KeyboardState, nous avons les classes Mouse et MouseState, dont nous nous servirons de la même manière.
Déclarez un objet de type MouseState au niveau de votre classe :

Ensuite, dans la méthode Update, rajoutez cette ligne de code après la récupération de l’état du clavier :

Idem que pour le clavier, on récupère l’état de la souris à ce moment précis, qui nous permettra de garder une image des états des boutons de la souris, ainsi que de sa position. Pour tester si nous avons effectué un clic gauche avec la souris, voici comment nous procédons :

Vous pouvez procéder de la même manière pour les autres boutons de la souris.
Pour récupérer la position de notre souris, nous procédons comme ceci :

Pour placer la souris à une position précise, nous faisons comme cela :

Conclusion
Nous voici à la fin de ce nouveau chapitre. Même s’il semble court et relativement simple, il n’en reste pas moins très important, car les entrées utilisateurs sont à la base de toute interaction entre le joueur et l’environnement du jeu. Dans le prochain chapitre, nous allons utiliser ce que nous venons d’apprendre pour faire bouger des sprites à l’aide du clavier et de la souris !
ff3711ca-3fd7-415e-a37b-a3d26f078750|0|.0
XNA