Développement XNA pour la XBox et le PC
50
personnage.Draw(spriteBatch);
spriteBatch.End();
base.Draw(gameTime);
}
}
}
Classe héritée de Sprite
Il est temps d’illustrer une nouvelle facette de la programmation objet en s’intéressant au
cas d’un mini RPG (Role Playing Game, jeu de rôle).
Dans votre projet, ajoutez une nouvelle classe que vous baptiserez Human. Ici, l’objectif
est de créer un personnage qui sera représenté à l’écran par un sprite pourvu de caractéristiques spécifiques, telles qu’un nom, un niveau d’intelligence, etc. Ainsi, il est possible
de considérer un objet Human comme un objet Sprite davantage spécialisé. Notez que la
même réflexion est tout à fait possible avec une automobile ou un ballon de football : il
s’agit d’entités qui possèdent les caractéristiques d’un objet Sprite, mais pas seulement.
Dans le monde de la programmation objet, cette notion s’appelle l’héritage.
En C#, la déclaration d’une classe qui hérite d’une autre se fait de la manière suivante :
class Fille: Mere
{
}
Dans le cas étudié, il s’agit donc de :
class Human: Sprite
{
}
Si, à ce stade, vous essayez de compiler le projet, vous obtiendrez l’erreur suivante :
'PremierProjetXNA.Sprite' ne contient pas un constructeur qui accepte des arguments
➥'0'
Role Playing Game
Le gameplay des jeux de rôle tels que Oblivion utilise des systèmes de classes et de spécialisations,
chaque classe ou spécialisation ayant des traits communs mais aussi des traits plus particuliers. L’héritage
est donc tout à fait approprié pour modéliser ce comportement.
Héritage multiple
Si vous connaissez le langage C++, vous avez sûrement entendu parler d’héritage multiple, bien qu’il ne
soit que peu conseillé. En C#, cette notion n’existe pas. Cependant, l’utilisation d’interfaces constitue une
autre approche du problème. Ce mécanisme du langage sera expliqué dans le chapitre 4.
=Labat FM.book Page 50 Vendredi, 19. juin 2009 4:01 16
Précédent

- 71/366

Suivant