Home > XNA

[Tutoriels XNA] – 2D – Gérer le clavier et la souris

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 :

 

clip_image002

 

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 :

 

clip_image004

 

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

 

clip_image006

 

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

 

clip_image008

 

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) :

 

clip_image010

 

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 :

 

clip_image012

 

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

 

clip_image014

 

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 :

 

clip_image016

 

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 :

 

clip_image018

 

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

 

clip_image020

 

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 !

XNA

Comments

4/7/2010 5:47:35 AM #
[Tutoriels XNA] - Sommaire

[Tutoriels XNA] - Sommaire

Add comment




  Country flag

biuquote
  • Comment
  • Preview
Loading

captcha

*