Développement XNA pour la XBox et le PC
100
fait une paire de coordonnées X et Y, ainsi qu’une largeur et une hauteur. Nous pouvons
donc facilement déduire le rôle de ce rectangle dans cette surcharge : la texture le
remplira, c’est-à-dire qu’elle occupera sa position et qu’elle s’adaptera à sa taille, en se
redimensionnant si nécessaire.
Modifier la classe Sprite
Assez parlé, il est temps d’appliquer une texture à notre Rectangle.
1. Ajoutez un champ pour un objet de type Rectangle à votre classe Sprite ainsi qu’une
propriété en lecture et écriture.
Rectangle destinationRectangle;
public Rectangle DestinationRectangle
{
get { return destinationRectangle; }
set { destinationRectangle = value; }
}
2. Surchargez maintenant le constructeur de la classe pour qu’il prenne un objet
Rectangle en paramètre plutôt qu’une unique paire de coordonnées.
public Sprite(Rectangle destinationRectangle)
{
this.destinationRectangle = destinationRectangle;
}
3. Et enfin, modifiez la méthode Draw() pour qu’elle utilise la première surcharge.
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(texture, destinationRectangle, Color.White);
}
4. Retournez dans la classe ChapitreSix et utilisez maintenant votre nouveau constructeur,
puis exécutez le programme.
protected override void Initialize()
{
sprite = new Sprite(new Rectangle(100, 100, 300, 300));
base.Initialize();
}
Rien ne vous oblige à conserver les proportions de votre sprite ! L’exemple suivant
redimensionne le sprite en modifiant sa hauteur.
protected override void Initialize()
{
sprite = new Sprite(new Rectangle(100, 100, 300, 100));
base.Initialize();
}
=Labat FM.book Page 100 Vendredi, 19. juin 2009 4:01 16
100
fait une paire de coordonnées X et Y, ainsi qu’une largeur et une hauteur. Nous pouvons
donc facilement déduire le rôle de ce rectangle dans cette surcharge : la texture le
remplira, c’est-à-dire qu’elle occupera sa position et qu’elle s’adaptera à sa taille, en se
redimensionnant si nécessaire.
Modifier la classe Sprite
Assez parlé, il est temps d’appliquer une texture à notre Rectangle.
1. Ajoutez un champ pour un objet de type Rectangle à votre classe Sprite ainsi qu’une
propriété en lecture et écriture.
Rectangle destinationRectangle;
public Rectangle DestinationRectangle
{
get { return destinationRectangle; }
set { destinationRectangle = value; }
}
2. Surchargez maintenant le constructeur de la classe pour qu’il prenne un objet
Rectangle en paramètre plutôt qu’une unique paire de coordonnées.
public Sprite(Rectangle destinationRectangle)
{
this.destinationRectangle = destinationRectangle;
}
3. Et enfin, modifiez la méthode Draw() pour qu’elle utilise la première surcharge.
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(texture, destinationRectangle, Color.White);
}
4. Retournez dans la classe ChapitreSix et utilisez maintenant votre nouveau constructeur,
puis exécutez le programme.
protected override void Initialize()
{
sprite = new Sprite(new Rectangle(100, 100, 300, 300));
base.Initialize();
}
Rien ne vous oblige à conserver les proportions de votre sprite ! L’exemple suivant
redimensionne le sprite en modifiant sa hauteur.
protected override void Initialize()
{
sprite = new Sprite(new Rectangle(100, 100, 300, 100));
base.Initialize();
}
=Labat FM.book Page 100 Vendredi, 19. juin 2009 4:01 16
