Développement XNA pour la XBox et le PC
96
Rectangle playerTwoRect = new Rectangle((int)playerTwo.Position.X,
➥(int)playerTwo.Position.Y, playerOne.Texture.Width, playerOne.Texture.Height);
// est-ce qu’il y a collision avec le haut de l’écran ?
if (Position.Y <= 0)
angle = new Vector2(angle.X, 1);
// ... ou bien avec le bas de l’écran ?
else if (Position.Y >= maxHeight - Texture.Height)
angle = new Vector2(angle.X, -1);
// ... ou alors avec le joueur 1 ?
else if (ballRect.Intersects(playerOneRect))
{
angle = new Vector2(1, angle.Y);
speed += 0.02f;
}
// ... ou bien le joueur 2 ?
else if (ballRect.Intersects(playerTwoRect))
{
angle = new Vector2(-1, angle.Y);
speed += 0.02f;
}
// ... ou alors, l’extrémité gauche ou l’extrémité droite de l’écran a été
➥atteinte
else if (Position.X <= 0 || Position.X + Texture.Width >= maxWidth)
started = false;
}
Les possibilités d’évolution sont vraiment nombreuses (création d’une intelligence
artificielle, ajout de nouvelles balles, etc.), contentez-vous de laisser libre cours à votre
imagination, mais gardez toujours à l’esprit que ce n’est pas la débauche de technique qui
fait qu’un jeu est bon ou non, le gameplay est vraiment important !
En résumé
Dans ce chapitre, vous avez découvert que la phase de préparation (ou d’élaboration du
cahier des charges) ne doit pas être oubliée. Vous avez ensuite mené à bien votre premier
projet avec XNA, découvrant au passage comment créer un DrawableComponent et
gérer les collisions de façon primitive.
=Labat FM.book Page 96 Vendredi, 19. juin 2009 4:01 16
Précédent

- 117/366

Suivant