Enrichir les sprites : textures, défilement, transformation, animation
CHAPITRE 6
113
L’évolution de la couleur de la teinte a lieu dans la méthode Update(). Chaque couleur
dispose de quatre composantes : rouge, vert, bleu et alpha. La composante alpha correspond à la transparence. À chaque appel de la méthode, il faut faire évoluer chaque
composante (sauf la transparence qui n’a pas d’importance ici) vers la couleur objectif :
soit en l’augmentant, soit en la diminuant. Lorsque la couleur courante correspond à la
couleur objectif, on modifie cette dernière. N’oubliez pas de remplacer la couleur dans
l’appel à la méthode Draw() de l’objet spriteBatch.
La classe Sprite prend maintenant en charge la fonction de variation de sa teinte
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; }
}
Color color = Color.Gray;
Color nextColor = Color.White;
public Sprite(Vector2 position, Rectangle? sourceRectangle)
{
this.position = position;
this.sourceRectangle = sourceRectangle;
}
public Sprite(float x, float y, Rectangle? sourceRectangle)
{
position = new Vector2(x, y);
this.sourceRectangle = sourceRectangle;
}
public void LoadContent(ContentManager content, string assetName)
{
texture = content.Load(assetName);
=Labat FM.book Page 113 Vendredi, 19. juin 2009 4:01 16
CHAPITRE 6
113
L’évolution de la couleur de la teinte a lieu dans la méthode Update(). Chaque couleur
dispose de quatre composantes : rouge, vert, bleu et alpha. La composante alpha correspond à la transparence. À chaque appel de la méthode, il faut faire évoluer chaque
composante (sauf la transparence qui n’a pas d’importance ici) vers la couleur objectif :
soit en l’augmentant, soit en la diminuant. Lorsque la couleur courante correspond à la
couleur objectif, on modifie cette dernière. N’oubliez pas de remplacer la couleur dans
l’appel à la méthode Draw() de l’objet spriteBatch.
La classe Sprite prend maintenant en charge la fonction de variation de sa teinte
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; }
}
Color color = Color.Gray;
Color nextColor = Color.White;
public Sprite(Vector2 position, Rectangle? sourceRectangle)
{
this.position = position;
this.sourceRectangle = sourceRectangle;
}
public Sprite(float x, float y, Rectangle? sourceRectangle)
{
position = new Vector2(x, y);
this.sourceRectangle = sourceRectangle;
}
public void LoadContent(ContentManager content, string assetName)
{
texture = content.Load
=Labat FM.book Page 113 Vendredi, 19. juin 2009 4:01 16
