Développement XNA pour la XBox et le PC
112
Varier la teinte des textures
Avant d’étudier la prochaine surcharge de la méthode Draw(), il est bon de revenir sur le
paramètre qui définit la teinte des textures. Jusqu’à présent, nous avons laissé ce paramètre à la valeur Color.White. Il est temps d’essayer de faire varier cette valeur et d’observer
les résultats.
Reprenez la classe Sprite telle qu’elle était à la fin de la section « Texturer un objet
Rectangle », puis modifiez sa méthode Draw() afin de régler la teinte sur Color.Black et
exécutez l’application. Le résultat est visible sur la figure 6-13.
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(texture, position, sourceRectangle, Color.Black);
}
Essayez la même chose mais cette fois-ci avec une teinte rouge.
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(texture, position, sourceRectangle, Color.Red);
}
Vous pouvez créer des effets intéressants sur votre sprite grâce aux teintes. Pour cela,
ajoutez deux champs de type Color à votre classe Sprite. Le premier s’appelle color et
contient la teinte courante du sprite. Le second s’appelle nextColor et, comme son nom
l’indique, indique la prochaine teinte que votre sprite utilisera. L’effet que nous allons
réaliser ici devra faire varier doucement la teinte du sprite d’une couleur à l’autre. Ainsi,
le sprite s’illuminera puis s’assombrira.
Color color = Color.Gray;
Color nextColor = Color.White;
Figure 6-13
Avec une teinte noire, la
texture semble… bien noire
=Labat FM.book Page 112 Vendredi, 19. juin 2009 4:01 16
Précédent

- 133/366

Suivant