MTProd > Dev4all > Articles > APIs > DirectX > Votre premier jeu Windows - C++/DirectX > 2 Les fichiers et répertoires
Rechercher24 Personnes en-ligne
Votre premier jeu Windows - C++/DirectX

2  Les fichiers et répertoires



2.1  Pourquoi dispatcher l'application

En dispatchant nos fichiers, c'est à dire en répartissant les codes et fonctions sur plusieurs fichiers cela rend notre programme bien plus convivial et facile à éditer !
Voici la liste des fichiers contenu dans l'archive ainsi qu'un bref descriptif de leur utilité et les fonctions contenu dans chaqu'un d'eux :




2.2  jeu_exemple1.exe

Il s'agit du fichier déjà compilé (donc executable) de notre exemple, en l'executant, et si vous disposer des Drivers DirectX 8, vous pourrez voir à quoi ressemble notre application (utilisez les touches du pavé fléché pour déplacer le sprite).




2.3  jeu_exemple1.dsp et jeu_exemple1.dsw

Il s'agit des fichiers projets du compilateur Visual C++.
Ouvrez le fichier jeu_exemple1.dsw, vous pourrez plus facilement consulter les fichiers dont nous allons parler plus bas.




2.4  jeu_exemple1.cpp

Ce fichier est la base de notre application, l'extension cpp signifie "C Plus Plus" ou "C++", fantastique
Il est utilisé pour initialiser l'application Windows, inclure les autres fichiers du projet, gérer les messages et rafraichir l'écran (dessiner les sprites, etc.), il contient les fonctions suivantes, chaqu'une d'elle a un chapitre dédié :

  • WindowProc() : Gére les processus (messages) de Windows

  • InitApp() : Initialise notre application, crée la classe de fenêtre, la fenêtre, nos objets DirectX

  • WinMain() : La fonction principalle de notre application

  • UpdateFrame() : Met à jour l'écran et son contenu, dessine les sprites, du texte et d'autres fonctions graphiques






2.5  globals.h

Ce fichier contient les variables et constantes de notre application, notamment plusieurs définitions de macros, structures et déclarations de fonctions.
Vous y trouverer aussi deux tableaux (dirX et dirY) qui seront utilisés pour déplacer notre sprite dans la direction voulu, pour plus d'informations sur le sujet, consultez l'article Déplacements & Directions dans un jeu 2D.




2.6  fonctions.h

Comme son nom l'indique ce fichier contient les définitions des fonctions globales à l'application, c'est à dire utilisables par tous les autres fichiers du projet.
Voici la liste des fonctions, elles sont toutes traitées dans le chapitre 7 sauf InitGame() :

  • InitGame() : Initialise les variables de notre jeu

  • GetImage() : Retourne une structure RECT de l'image voulue

  • Fail() : Cette fonction est utilisé pour terminer notre application en affichant un message d'erreur

  • ReleaseAllObjects() : "Relache" tous nos objets DirectDraw

  • RestoreAll() : Restore tous nos objets DirectDraw (recharge les surfaces)






2.7  input.h

Vous trouverez la dedans plusieurs fonctions utilisées par DirectInput ainsi la gestion du clavier et de la souris.
Il contient les fonctions suivantes :

  • DoKeyboardAction() : Effectue les actions du clavier

  • DoMouseAction() : Effectue les actions de la souris

  • UpdateCursorPos() : Met à jour la position du curseur de notre souris

  • SetDIDwordProperty() : Définit les propriétés des périphériques DirectInput

  • InitDirectInput() : Initialise nos périphériques DirectInput

  • SetAcquire() : Acquière et "désacquière" nos périphériques DirectInput

  • ReadKeyboardInput() : Lit et stocke les touches appuyés sur le clavier

  • ReadMouseInput() : Lit et stocke les boutons appuyés ainsi que les mouvements effectués à la souris

  • FreeDirectInput() : Libère les périphériques DirectInput


Uniquement les trois premières fonctions sont décrites en détails dans le chapitre 8 - input.h, les autres sont "trop complexes" pour l'instant.




2.8  ddutil.cpp et ddutil.h

Ici, sont déclarer et définit les fonctions utilisées par DirectDraw : Gérer les bitmaps, Gérer les palettes et couleurs. Nous ne reviendrons pas sur ces fonctions "trop complexes" pour l'instant.
Voici la liste des fonctions :

  • DDLoadBitmap() : Crée une surface DirectDraw d'après un bitmap

  • DDReLoadBitmap() : Recharge un bitmap dans une surface

  • DDCopyBitmap() : Dessine un bitmap dans une surface DirectDraw

  • DDLoadPalette() : Crée une palette de couleurs d'après un bitmap

  • DDColorMatch() : Convertit une couleur RGB en couleur physique

  • DDSetColorKey() : Définit une couleur transparente pour la surface passée






2.9  resource.rc et resource.h

Ces fichiers contiennent les macros des ressources pour notre application.
Dans notre exemple uniquement un icone est définit : IDI_MAIN_ICON, celui de notre application (icon.ico)




2.10  Le répertoire data

Ce répertoire contient uniquement nos données (data) ; nos bitmaps (sprites) et notre icône à savoir :

  • curseur.bmp : Utilisé pour le curseur de la souris

  • icon.ico : L'icône principal de notre application

  • sprite.bmp : Les images et animations de notre sprite balle







<<  1  IntroductionSommaire3  WindowProc()  >>

 Accés rapide

1  Introduction
2  Les fichiers et répertoires

Pourquoi dispatcher l'application

jeu_exemple1.exe

jeu_exemple1.dsp et jeu_exemple1.dsw

jeu_exemple1.cpp

globals.h

fonctions.h

input.h

ddutil.cpp et ddutil.h

resource.rc et resource.h

Le répertoire data

3  WindowProc()
4  InitApp()
5  WinMain()
6  UpdateFrame()
7  fonctions.h
8  input.h
9  Conclusion
Voir le sommaire complet

 Liens utiles

  • Publier un article
  • Envoyer cette page
  • Ecrire à l'auteur

  •  Mini-Chat

    Thienou (00h11): salut
    Thienou (00h13): Oula mon inscription date de 11 ans je me sent vieux :)
    neowolf25 (17h59): MMF2 en "pay what you want" jusqu'à demain sur
    neowolf25 (17h59): https://www.hu
    mblebundle.com/
    weekly

    Miuka (21h15): Coin coin de 2014
    Miuka (21h15): Des gens qui ont migré sur le forum Clickteam ou ailleurs ?
    Strike (09h45): Salut les vieux !
    Hikarion (12h46): Salut les djeunz
    Hikarion (13h38): A qui profite le scandale ?
    Hikarion (13h44): le chat irc est toujours actif ?

    Votre message



     Archives

     Dev4all Newsletter

    Restez à jour avec la newsletter mensuelle !

    Votre e-mail


    1800 abonnés

     Recommander Dev4all

    Recommandez Dev4all à un ami. Cela fera grandir notre communauté !

    E-mails de vos amis




    [ Accueil | S'inscrire | Mon Dev4all | Communauté | Téléchargements | Articles | Forums | Chat ]

    [ A propos de Dev4all | Aide | La charte Dev4all | Contact ]

    © 2000-2018 MTProd. Tous droits réservés.
    L'utilisation de Dev4all implique l'acceptation et le respect de la charte Dev4all.