Le mode multijoueur
CHAPITRE 11
233
public bool KeyHasBeenPressed(Keys key)
{
return lastKBState.IsKeyDown(key) && KBState.IsKeyUp(key);
}
public override void Update(GameTime gameTime)
{
lastKBState = KBState;
KBState = Keyboard.GetState();
base.Update(gameTime);
}
}
Intéressez-vous maintenant au système de caméra. La figure 11-1 représente votre objectif.
Vous avez une carte (celle représentée ici est tirée du chapitre 9), et le carré aux bords
noirs autour du joueur représente son champ de vision, c’est-à-dire la caméra.
Sur cet exemple, le joueur voit l’environnement qui l’entoure sur une distance de deux
cases, la caméra est donc un carré de 5 ¥ 5 cases. La position de la caméra sur la carte
sera déterminée par un couple de coordonnées (x, y). Vous pouvez donc utiliser un objet
de type Rectangle qui dispose de toutes ces caractéristiques.
Le sprite représentant le joueur doit toujours être placé au milieu de l’écran. Lorsque le
joueur appuie sur les touches de déplacement, ce n’est pas la position à l’écran du sprite
qui est modifiée, mais sa position sur la carte et les coordonnées de l’origine de la
caméra.
Modifiez maintenant la méthode Draw() de la classe Map afin qu’elle ne dessine que les
cases qui sont dans le champ de vision de la caméra. Parcourez le tableau tileList en
bouclant sur les dimensions de l’objet Rectangle, puis positionnez les sprites à l’écran en
fonction de leur position dans le rectangle de la caméra et appelez leur méthode Draw().
Figure 11-1
Une vision partielle d’une
carte grâce à une caméra
=Labat FM.book Page 233 Vendredi, 19. juin 2009 4:01 16
CHAPITRE 11
233
public bool KeyHasBeenPressed(Keys key)
{
return lastKBState.IsKeyDown(key) && KBState.IsKeyUp(key);
}
public override void Update(GameTime gameTime)
{
lastKBState = KBState;
KBState = Keyboard.GetState();
base.Update(gameTime);
}
}
Intéressez-vous maintenant au système de caméra. La figure 11-1 représente votre objectif.
Vous avez une carte (celle représentée ici est tirée du chapitre 9), et le carré aux bords
noirs autour du joueur représente son champ de vision, c’est-à-dire la caméra.
Sur cet exemple, le joueur voit l’environnement qui l’entoure sur une distance de deux
cases, la caméra est donc un carré de 5 ¥ 5 cases. La position de la caméra sur la carte
sera déterminée par un couple de coordonnées (x, y). Vous pouvez donc utiliser un objet
de type Rectangle qui dispose de toutes ces caractéristiques.
Le sprite représentant le joueur doit toujours être placé au milieu de l’écran. Lorsque le
joueur appuie sur les touches de déplacement, ce n’est pas la position à l’écran du sprite
qui est modifiée, mais sa position sur la carte et les coordonnées de l’origine de la
caméra.
Modifiez maintenant la méthode Draw() de la classe Map afin qu’elle ne dessine que les
cases qui sont dans le champ de vision de la caméra. Parcourez le tableau tileList en
bouclant sur les dimensions de l’objet Rectangle, puis positionnez les sprites à l’écran en
fonction de leur position dans le rectangle de la caméra et appelez leur méthode Draw().
Figure 11-1
Une vision partielle d’une
carte grâce à une caméra
=Labat FM.book Page 233 Vendredi, 19. juin 2009 4:01 16
