Interactions avec le joueur
CHAPITRE 4
71
À présent, vous avez tous les outils en main pour transformer votre sprite en curseur. À
chaque appel de la méthode Update(), il suffit de remplacer la position du sprite par celle
de la souris.
protected override void Update(GameTime gameTime)
{
MouseState MState = Mouse.GetState();
sprite.Position = new Vector2(MState.X, MState.Y);
base.Update(gameTime);
}
Notez que, comme pour le clavier, vous n’êtes pas obligé de stocker l’état de la souris et
pouvez l’exploiter directement.
sprite.Position = new Vector2(Mouse.GetState().X, Mouse.GetState().Y);
En ce qui concerne les clics de la souris, vous les détectez en utilisant l’énumération
ButtonState qui prend deux états : Pressed ou Released.
if (MState.LeftButton == ButtonState.Pressed)
this.Window.Title = "Gauche";
if (MState.MiddleButton == ButtonState.Pressed)
this.Window.Title = "Milieu";
if (MState.RightButton == ButtonState.Pressed)
this.Window.Title = "Droit";
Pour finir, vous pouvez récupérer les mouvements qu’effectue l’utilisateur avec sa molette
via la propriété ScrollWheelValue. Celle-ci retourne une valeur entière qui s’incrémentera
si l’utilisateur fait tourner la molette vers le haut et qui se décrémentera dans le cas
contraire.
this.Window.Title = MState.ScrollWheelValue.ToString();
La manette de la Xbox 360
La manette de la Xbox 360 est le contrôleur de base que tous les joueurs de la console
possèdent. Si vous développez un jeu pour la console, vous devrez donc adapter son
fonctionnement à cette manette.
Le fonctionnement de la manette est similaire à celui du clavier et de la souris. Vous stockez
son état dans un objet de type GamePadState que vous récupérerez de l’objet GamePad.
Cependant, comme il peut y avoir plusieurs manettes connectées à la console, il faut
spécifier celle qui vous intéresse grâce à l’énumération PlayerIndex.
GamePadState GPState = GamePad.GetState(PlayerIndex.One);
Tout d’abord, vous pouvez vérifier qu’une manette est bien connectée à la console en
utilisant la propriété IsConnected.
GamePadState GPState = GamePad.GetState(PlayerIndex.Two);
if (GPState.IsConnected)
this.Window.Title = "La manette 2 n’est pas connectée à la console";
=Labat FM.book Page 71 Vendredi, 19. juin 2009 4:01 16
CHAPITRE 4
71
À présent, vous avez tous les outils en main pour transformer votre sprite en curseur. À
chaque appel de la méthode Update(), il suffit de remplacer la position du sprite par celle
de la souris.
protected override void Update(GameTime gameTime)
{
MouseState MState = Mouse.GetState();
sprite.Position = new Vector2(MState.X, MState.Y);
base.Update(gameTime);
}
Notez que, comme pour le clavier, vous n’êtes pas obligé de stocker l’état de la souris et
pouvez l’exploiter directement.
sprite.Position = new Vector2(Mouse.GetState().X, Mouse.GetState().Y);
En ce qui concerne les clics de la souris, vous les détectez en utilisant l’énumération
ButtonState qui prend deux états : Pressed ou Released.
if (MState.LeftButton == ButtonState.Pressed)
this.Window.Title = "Gauche";
if (MState.MiddleButton == ButtonState.Pressed)
this.Window.Title = "Milieu";
if (MState.RightButton == ButtonState.Pressed)
this.Window.Title = "Droit";
Pour finir, vous pouvez récupérer les mouvements qu’effectue l’utilisateur avec sa molette
via la propriété ScrollWheelValue. Celle-ci retourne une valeur entière qui s’incrémentera
si l’utilisateur fait tourner la molette vers le haut et qui se décrémentera dans le cas
contraire.
this.Window.Title = MState.ScrollWheelValue.ToString();
La manette de la Xbox 360
La manette de la Xbox 360 est le contrôleur de base que tous les joueurs de la console
possèdent. Si vous développez un jeu pour la console, vous devrez donc adapter son
fonctionnement à cette manette.
Le fonctionnement de la manette est similaire à celui du clavier et de la souris. Vous stockez
son état dans un objet de type GamePadState que vous récupérerez de l’objet GamePad.
Cependant, comme il peut y avoir plusieurs manettes connectées à la console, il faut
spécifier celle qui vous intéresse grâce à l’énumération PlayerIndex.
GamePadState GPState = GamePad.GetState(PlayerIndex.One);
Tout d’abord, vous pouvez vérifier qu’une manette est bien connectée à la console en
utilisant la propriété IsConnected.
GamePadState GPState = GamePad.GetState(PlayerIndex.Two);
if (GPState.IsConnected)
this.Window.Title = "La manette 2 n’est pas connectée à la console";
=Labat FM.book Page 71 Vendredi, 19. juin 2009 4:01 16
