Créer un jeu de plateforme Windows universelle (UWP) simple avec DirectXCreate a simple Universal Windows Platform (UWP) game with DirectX

Dans cet ensemble de didacticiels, vous apprendrez à utiliser DirectX et C++/WinRT pour créer l’exemple de jeu de base plateforme Windows universelle (UWP) nommé Simple3DGameDX.In this set of tutorials, you'll learn how to use DirectX and C++/WinRT to create the basic Universal Windows Platform (UWP) sample game named Simple3DGameDX. Le jeu a lieu dans une simple galerie de tournage 3D de première personne.The gameplay takes place in a simple first-person 3D shooting gallery.

Notes

Le lien à partir duquel vous pouvez télécharger l’exemple de jeu Simple3DGameDX lui-même est le jeu d’exemples Direct3D.The link from which you can download the Simple3DGameDX sample game itself is Direct3D sample game. Le code source C++/WinRT se trouve dans le dossier nommé cppwinrt .The C++/WinRT source code is in the folder named cppwinrt. Pour plus d’informations sur d’autres exemples d’applications UWP, consultez obtenir des exemplesd’applications UWP.For info about other UWP sample apps, see Get UWP app samples.

Ces didacticiels couvrent tous les aspects majeurs d’un jeu, y compris les processus de chargement des ressources telles que les arts et les mailles, la création d’une boucle de jeu principale, l’implémentation d’un pipeline de rendu simple et l’ajout de sons et de contrôles.These tutorials cover all of the major parts of a game, including the processes for loading assets such as arts and meshes, creating a main game loop, implementing a simple rendering pipeline, and adding sound and controls.

Vous y verrez également les techniques et les considérations relatives au développement de jeux UWP.You'll also see UWP game development techniques and considerations. Nous nous concentrerons sur les concepts clés du développement de jeux DirectX UWP et appelons les considérations spécifiques à l’exécution de Windows autour de ces concepts.We'll focus on key UWP DirectX game development concepts, and call out Windows-Runtime-specific considerations around those concepts.

ObjectifObjective

Pour en savoir plus sur les concepts de base et les composants d’un jeu DirectX UWP, et pour vous familiariser avec la conception de jeux UWP avec DirectX.To learn about the basic concepts and components of a UWP DirectX game, and to become more comfortable designing UWP games with DirectX.

Ce que vous devez savoirWhat you need to know

Pour ce didacticiel, vous devez vous familiariser avec ces sujets.For this tutorial, you need to be familiar with these subjects.

  • /WinRT C++.C++/WinRT. C++/WinRT est une projection de langage C++ 17 moderne standard pour les API Windows Runtime (WinRT), implémentée en tant que bibliothèque basée sur un fichier d’en-tête et conçue pour vous fournir un accès de première classe aux API Windows modernes.C++/WinRT is a standard modern C++17 language projection for Windows Runtime (WinRT) APIs, implemented as a header-file-based library, and designed to provide you with first-class access to the modern Windows APIs.
  • Algèbre linéaire de base et concepts physiques newtoniens.Basic linear algebra and Newtonian physics concepts.
  • Terminologie de programmation de graphiques de base.Basic graphics programming terminology.
  • Concepts de programmation Windows de base.Basic Windows programming concepts.
  • Connaissances de base des API Direct2D et Direct3D 11.Basic familiarity with the Direct2D and Direct3D 11 APIs.

L’exemple de jeu Simple3DGameDX implémente une simple galerie de tournage 3D de première personne, où le joueur déclenche des billes sur les cibles mobiles.The Simple3DGameDX sample game implements a simple first-person 3D shooting gallery, where the player fires balls at moving targets. Le joueur gagne un certain nombre de points en atteignant chaque cible et il peut traverser 6 niveaux de défis de plus en plus difficiles.Hitting each target awards a set number of points, and the player can progress through 6 levels of increasing challenge. À la fin des niveaux, les points sont comptés et un score final est attribué au joueur.At the end of the levels, the points are tallied, and the player is awarded a final score.

L’exemple illustre ces concepts de jeu.The sample demonstrates these game concepts.

  • Interopérabilité entre DirectX 11.1 et Windows RuntimeInteroperation between DirectX 11.1 and the Windows Runtime
  • Caméra et perspective 3D subjectivesA first-person 3D perspective and camera
  • Effets 3D stéréoscopiquesStereoscopic 3D effects
  • Collision-détection entre des objets en 3DCollision-detection between objects in 3D
  • Gestion des entrées de joueur pour les contrôles de souris, de toucher et de contrôleur XboxHandling player input for mouse, touch, and Xbox controller controls
  • Mixage audio et lectureAudio mixing and playback
  • Un état de jeu de base-machineA basic game state-machine

l’exemple de jeu en action

RubriqueTopic DescriptionDescription
Configurer le projet de jeuSet up the game project La première étape du développement de votre jeu consiste à configurer un projet dans Microsoft Visual Studio.The first step in developing your game is to set up a project in Microsoft Visual Studio. Une fois que vous avez configuré un projet spécifiquement pour le développement de jeux, vous pouvez le réutiliser ultérieurement comme type de modèle.After you've configured a project specifically for game development, you could later re-use it as a kind of template.
Définir l’infrastructure d’application UWP du jeuDefine the game's UWP app framework La première étape du codage d’un jeu de plateforme Windows universelle (UWP) est la création de l’infrastructure qui permet à l’objet d’application d’interagir avec Windows.The first step in coding a Universal Windows Platform (UWP) game is building the framework that lets the app object interact with Windows.
Gestion de flux de jeuGame flow management Définissez l’ordinateur d’état de haut niveau pour activer l’interaction du joueur et du système.Define the high-level state machine to enable player and system interaction. Découvrez comment l’interface utilisateur interagit avec la machine d’État du jeu global et comment créer des gestionnaires d’événements pour les jeux UWP.Learn how UI interacts with the overall game's state machine and how to create event handlers for UWP games.
Définir l’objet jeu principalDefine the main game object À présent, nous examinons les détails de l’objet principal de l’exemple de jeu et de la façon dont les règles qu’il implémente traduisent en interactions avec le monde du jeu.Now, we look at the details of the sample game's main object and how the rules it implements translate into interactions with the game world.
Infrastructure de rendu I : présentation du renduRendering framework I: Intro to rendering Découvrez comment développer le pipeline de rendu pour afficher des graphiques.Learn how to develop the rendering pipeline to display graphics. Présentation du rendu.Intro to rendering.
Infrastructure de rendu II : rendu de jeuRendering framework II: Game rendering Découvrez comment assembler le pipeline de rendu pour afficher des graphiques.Learn how to assemble the rendering pipeline to display graphics. Le rendu du jeu, la configuration et la préparation des données.Game rendering, set up and prepare data.
Ajouter une interface utilisateurAdd a user interface Découvrez comment ajouter une superposition d’interface utilisateur 2D à un jeu DirectX UWP.Learn how to add a 2D user interface overlay to a DirectX UWP game.
Ajouter des contrôlesAdd controls À présent, nous voyons comment l’exemple de jeu implémente les contrôles de déplacement et d’apparence dans un jeu 3D et comment développer des contrôles tactiles, de souris et de contrôleurs de jeu de base.Now, we take a look at how the sample game implements move-look controls in a 3-D game, and how to develop basic touch, mouse, and game controller controls.
Ajouter du sonAdd sound Développez un moteur audio simple à l’aide des API XAudio2 pour lire la musique et les effets sonores du jeu.Develop a simple sound engine using XAudio2 APIs to playback game music and sound effects.
Développer l’exemple de jeuExtend the sample game Découvrez comment implémenter une superposition XAML pour un jeu DirectX UWP.Learn how to implement a XAML overlay for a UWP DirectX game.