Afficher et animer des images : les sprites
CHAPITRE 3
61
Si le Content Manager n’accomplissait pas déjà cette fonction, le gestionnaire aurait un
réel intérêt dans les situations où il existe un grand nombre de sprites qui emploient la
même image. Commencez donc par ajouter au projet l’image que vous chargerez. Le
fichier GameThumbnail.png présent dans chaque projet peut très bien faire l’affaire.
Dans la classe Game1, ajoutez une liste de sprites et, dans la méthode Initialize(), remplissez
la liste de manière à recouvrir l’écran de sprites.
List sprites = new List();
protected override void Initialize()
{
for (int i = 0; i < 13; i++)
{
for (int j = 0; j < 10; j++)
{
sprites.Add(new Sprite(i * 64, j * 64));
}
}
base.Initialize();
}
Notez que, dans cet exemple, les nombres 64 correspondent aux dimensions de l’image
GameThumbnail.png. Si vous choisissez une autre image, n’oubliez pas de modifier ces
dimensions.
Chargez ensuite normalement vos images dans la méthode LoadContent(). Remarquez
encore une fois la facilité déconcertante de la programmation avec XNA et C#.
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
foreach (Sprite sprite in sprites)
sprite.LoadContent(Content, "GameThumbnail");
}
Enfin, il ne reste plus qu’à dessiner les sprites de la collection.
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin();
foreach (Sprite sprite in sprites)
sprite.Draw(spriteBatch);
spriteBatch.End();
base.Draw(gameTime);
}
=Labat FM.book Page 61 Vendredi, 19. juin 2009 4:01 16
Précédent

- 82/366

Suivant