Download http://bigtheme.net/joomla Free Templates Joomla! 3
Gestionnaire d'écran

SharpDX – Un Pong [Partie 1]

Dans se tutoriel, nous allons voir comment développer ensemble un jeu qui à marqué le temps, le fameux Pong !
Donc pour se faire nous allons bien entendu utilisé le langage C# ainsi que la bibliothèque SharpDX qui est une bibliothèque DirectX, supporté sur les différentes plate-forme de Microsoft (Windows 7, Windows 8, Windows 8.1 et encore Windows Phone) Ainsi que sur la nouvelle interface de Windows, c’est-à-dire « Métro »

Liens :

Paramétrer Visual Studio :

Une fois que tous les outils ont étés téléchargés nous allons pouvoir commencer à paramétrer notre environnement de travail.

Ici il s’agit de faire en sorte que Visual Studio nous référence automatiquement toutes les DLL que l’on à besoins pour utiliser SharpDX Toolkit.

Créons donc un nouveau projet dans Visual Studio de type « Console Application ». Une fois que Visual à finit d’initialiser le projet nous allons modifier notre fichier « .csproj » et lui dire d’aller chercher les DLL que l’on veux.

Donc ouvrir votre fichier « .csproj » avec un éditeur de texte ou encore avec Notepad++, puis rendez-vous tout en bas de se fichier et juste en dessous de la ligne :

ajoutons cette nouvelle ligne :

Cette ligne signifie juste que l’on veux importer de nouvelle référence dans notre projet, et ceci bien sur automatiquement. Néanmoins il ne faut pas oublier de placer notre fichier « SharpDX.targets » à la racine même de notre solution (et non de notre projet .csproj )

Ou trouver se fichier ?

Tout simplement dans votre répertoire d’installation de SharpDX !

Une fois que tout ceci est fait on peux enfin ré-ouvrir notre projet sans la moindre erreur de la part de Visual !

[…]

Création de la fenêtre :

Bien maintenant que tout est bon on peut commencer par créer notre fenêtre qui nous permettra d’afficher notre jeu à l’écran.

Pour ceux venant de XNA ici vous retrouverez beaucoup de similitudes.

Créons donc une nouvelle classe à la racine de notre projet (clic droit sur le projet → Ajouter → Classe…), appelons la « PongGame.cs »

Pour pouvoir avoir accès aux différentes méthodes permettant de mettre à jour la fenêtre ou encore de dessiner des objets à l’écran, nous allons faire hériter notre classe de Game, la classe de base de toutes applications utilisant SharpDX Toolkit.

Ainsi nous pourrons utiliser les différentes méthodes qui sont :

  • Initialize : Permet d’initialiser notre classe ainsi que ses objets,
  • LoadContent : Permet de charger le contenu de notre jeu, comme des images ou du son,
  • Update : Nous permet de mettre à jour l’écran,
  • Draw : Nous permet de dessiner à l’écran.

Ce qui nous donne :

C’est bien beau tout ça mais notre classe ne fait rien du tout, elle ne change même pas la couleur d’arrière plan de notre fenêtre.

Et c’est se que nous allons changer sans plus attendre !

Donc pour pouvoir afficher des choses à l’écran notre application à besoins de deux choses essentielles :

  • Un GraphicsDeviceManager : Qui nous permettra de paramétrer l’affichage comme la taille de l’écran, si on utilise le Vsync, le nombre de FPS (limiter ou non) etc…
  • Un SpriteBatch : Nous permettant d’avoir accès la méthode Draw pour afficher des objets à l’écran, Texture ou Font.

On commence par le GraphicsDeviceManager, ajouter ceci à la classe PongGame :

 

Maintenat pour le SpriteBatch :

A se stade tout est « presque » bien configurer, en effet il nous reste à définir un dossier pour le contenu de notre jeu (images, son etc…) ainsi que d’effacer l’écran pour le mettre à jour efficacement.

Faite un clic droit sur votre projet et ajoutez-y un nouveau dossier nommé « Content »

Puis dans le constructeur de la classe PongGame ajoutez cette ligne :

Dorénavant lorsque l’on chargera les ressources du jeu et bien SharpDX ira directement les chercher dans notre dossier « Content ».
Bien entendu vous pouvez changer le nom de ce dossier comme bon vous semble, ici j’ai repris le nom du dossier lors de l’utilisation de XNA.

Puis dans la méthode Update ajoutez ceci :

Grâce à cette ligne nous effaçons donc l’écran à charge mise à jour de celui-ci avec un fond noir.

Pourquoi ?

Si nous ne faisions pas ça notre jeu continuerait à afficher du contenu que l’on auraient plus besoins, par exemple si on passe du menu principal au jeu, celui-ci aurait pu continuer à afficher le fond du menu. Hors grâce à cette ligne nous effaçons les objets qui n’existe plus et qui sont devenu inutile.

Enfin dans notre classe Program.cs ajoutons cette ligne dans la méthode Main :

Nous utilisons using tout simplement pour dire que notre application n’est valable que dans se contexte précis, une fois que l’on en sort et bien l’application est terminé et le GarbageCollector dispose tous les objets managés.

Compilons enfin notre projet et lançons le pour voir se que sa donne :

Pong SharpDX

Check Also

CaffeinatedPsychics C0ttron

C0ttron – Ludum dare 34

Pour certains, les JAMS sont un réel challenge dont le but n’est que de gagner, …

Laisser un commentaire