Enrichir les sprites : textures, défilement, transformation, animation
CHAPITRE 6
109
2. Surchargez la méthode LoadContent() pour permettre de définir un index maximum
dans le cas d’une planche de sprite.
public void LoadContent(ContentManager content, string assetName, int maxIndex)
{
texture = content.Load(assetName);
this.maxIndex = maxIndex;
}
3. Pour terminer, le traitement de l’animation va se faire dans la méthode Update(). À
chaque fois qu’elle est appelée, stockez le nombre de millisecondes écoulées depuis
le dernier appel dans la variable index. Si index à dépassé l’index maximum, fixez-le
à 0.
4. Enfin, modifiez l’objet sourceRectangle en changeant la position X par la valeur entière
de la variable index. Voici le nouveau code complet de la classe Sprite :
La classe Sprite avec la possibilité d’utiliser une feuille de sprites
class Sprite
{
Vector2 position;
public Vector2 Position
{
get { return position; }
set { position = value; }
}
Texture2D texture;
public Texture2D Texture
{
get { return texture; }
}
Rectangle? sourceRectangle = null;
public Rectangle? SourceRectangle
{
get { return sourceRectangle; }
set { sourceRectangle = value; }
}
float index = 0;
int maxIndex = 0;
public Sprite(Vector2 position)
{
this.position = position;
}
public Sprite(Vector2 position, Rectangle? sourceRectangle)
{
this.position = position;
=Labat FM.book Page 109 Vendredi, 19. juin 2009 4:01 16
Précédent

- 130/366

Suivant