Le mode multijoueur
CHAPITRE 11
235
Passez à présent à la classe principale du projet où vous utiliserez ces nouvelles fonctions.
Déclarez un objet Map, un objet Tile qui représentera le héros et enfin un objet Rectangle
pour la caméra.
Attention avec le tableau de byte lorsque vous instanciez l’objet Map. En effet, pour éviter
qu’une exception soit levée lorsque le joueur est proche des bords de la carte (puisque
la méthode Draw() de l’objet Map essaiera d’accéder à des index qui n’existent pas dans le
tableau), placez des murs sur les bords de la carte. N’oubliez pas non plus de placer le
sprite représentant le joueur au milieu de l’écran.
Lorsque vous captez une entrée utilisateur, vérifiez si la case vers laquelle il souhaite se
déplacer est un mur ou non. Si c’en est un, le déplacement ne doit pas avoir lieu.
Enfin, dans la méthode Draw(), pensez à dessiner le joueur après avoir dessiné la carte.
La classe principale du mini-jeu
public class Chapitre11 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
Map map;
Tile herosA;
Rectangle cameraA;
public Chapitre11()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
ServiceHelper.Game = this;
Components.Add(new KeyboardService(this));
graphics.PreferredBackBufferWidth = 160;
graphics.PreferredBackBufferHeight = 160;
}
protected override void Initialize()
{
map = new Map(new byte[,] {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 1, 0, 0, 0, 1, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 1, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 0, 0, 0, 1, 0},
{0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 0, 1, 0},
{0, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 0},
{0, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 1, 0},
{0, 1, 3, 0, 0, 0, 3, 3, 0, 0, 0, 0, 2, 2, 0, 0, 1, 0},
{0, 1, 3, 0, 3, 3, 3, 3, 3, 0, 0, 0, 2, 2, 0, 0, 1, 0},
{0, 1, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 2, 2, 2, 0, 1, 0},
{0, 1, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 2, 2, 0, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
});
=Labat FM.book Page 235 Vendredi, 19. juin 2009 4:01 16
Précédent

- 256/366

Suivant