Erstellen eines einfachen Spiels für die universelle Windows-Plattform (UWP) mit DirectXCreate a simple Universal Windows Platform (UWP) game with DirectX

In diesen Tutorials erfahren Sie, wie Sie DirectX und C++/WinRT verwenden, um das Basic universelle Windows-Plattform (UWP)-Beispiel Spiel mit dem Namen Simple3DGameDXzu erstellen.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. Das-Spiel ist in einer einfachen 3D-Galerie mit erster Person vorhanden.The gameplay takes place in a simple first-person 3D shooting gallery.

Hinweis

Der Link, von dem aus Sie das Simple3DGameDX -Beispiel Spiel selbst herunterladen können, ist Direct3D Sample Game.The link from which you can download the Simple3DGameDX sample game itself is Direct3D sample game. Der C++/WinRT-Quellcode befindet sich im Ordner mit dem Namen cppwinrt .The C++/WinRT source code is in the folder named cppwinrt. Informationen zu anderen UWP-Beispiel-apps finden Sie unter Beispiele für UWP-apps.For info about other UWP sample apps, see Get UWP app samples.

In diesen Tutorials werden alle Hauptteile eines Spiels behandelt, einschließlich der Prozesse zum Laden von Assets wie z. b. Kunst und Meshes, Erstellen einer Hauptspiel Schleife, Implementieren einer einfachen Renderingpipeline und Hinzufügen von Sound und Steuerelementen.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.

Außerdem werden Techniken und Überlegungen zur Entwicklung von UWP-spielen angezeigt.You'll also see UWP game development techniques and considerations. Wir konzentrieren uns auf wichtige Konzepte der UWP DirectX-Spieleentwicklung und bezeichnen diese Konzepte durch Windows-Runtime-spezifische Überlegungen.We'll focus on key UWP DirectX game development concepts, and call out Windows-Runtime-specific considerations around those concepts.

ZielObjective

Um mehr über die grundlegenden Konzepte und Komponenten eines UWP DirectX-Spiels zu erfahren und die Entwicklung von UWP-spielen mit DirectX zu vertiefen.To learn about the basic concepts and components of a UWP DirectX game, and to become more comfortable designing UWP games with DirectX.

Was Sie wissen müssenWhat you need to know

Für dieses Tutorial müssen Sie mit diesen Themen vertraut sein.For this tutorial, you need to be familiar with these subjects.

  • C++/WinRT.C++/WinRT. C++/WinRT ist eine standardmäßige moderne C++ 17-sprach Projektion für Windows-Runtime (WinRT)-APIs, die als Header dateibasierte Bibliothek implementiert und für den erstklassigen Zugriff auf die modernen Windows-APIs konzipiert ist.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.
  • Grundlegende Konzepte der linearen Algebra und der newtonschen Physik.Basic linear algebra and Newtonian physics concepts.
  • Grundlegende Terminologie für die Grafikprogrammierung.Basic graphics programming terminology.
  • Grundlegende Konzepte der Windows-Programmierung.Basic Windows programming concepts.
  • Grundlegende Kenntnisse der APIs von Direct2D und Direct3D 11.Basic familiarity with the Direct2D and Direct3D 11 APIs.

Das Simple3DGameDX -Beispiel Spiel implementiert eine einfache 3D-Katalog Galerie, bei der der Spieler Bälle beim Verschieben von Zielen auslöst.The Simple3DGameDX sample game implements a simple first-person 3D shooting gallery, where the player fires balls at moving targets. Wird ein Ziel getroffen, erhält der Spieler eine bestimmte Anzahl von Punkten. Der Spieler kann nacheinander sechs Level mit jeweils steigendem Schwierigkeitsgrad absolvieren.Hitting each target awards a set number of points, and the player can progress through 6 levels of increasing challenge. Am Ende der Level werden die Punkte zusammengezählt, und der Spieler erhält einen endgültigen Punktestand.At the end of the levels, the points are tallied, and the player is awarded a final score.

Das Beispiel veranschaulicht diese Spielkonzepte.The sample demonstrates these game concepts.

  • Zusammenarbeit zwischen DirectX 11.1 und der Windows-RuntimeInteroperation between DirectX 11.1 and the Windows Runtime
  • Dreidimensionale Ich-Perspektive und entsprechende KameraA first-person 3D perspective and camera
  • Stereoskopische 3D-EffekteStereoscopic 3D effects
  • Konflikterkennung zwischen Objekten in 3DCollision-detection between objects in 3D
  • Behandeln von Player Eingaben für Maus-, Fingereingabe-und Xbox-Controller SteuerelementeHandling player input for mouse, touch, and Xbox controller controls
  • Audiomixing und -wiedergabeAudio mixing and playback
  • Ein grundlegender Spielzustand: ComputerA basic game state-machine

Das Beispiel Spiel in Aktion

ThemaTopic BESCHREIBUNGDescription
Einrichten des SpieleprojektsSet up the game project Der erste Schritt bei der Entwicklung Ihres Spiels ist das Einrichten eines Projekts in Microsoft Visual Studio.The first step in developing your game is to set up a project in Microsoft Visual Studio. Nachdem Sie ein Projekt speziell für die Spieleentwicklung konfiguriert haben, können Sie es später als Vorlage wieder verwenden.After you've configured a project specifically for game development, you could later re-use it as a kind of template.
Definieren des UWP-App-Frameworks für das SpielDefine the game's UWP app framework Der erste Schritt beim Programmieren eines universelle Windows-Plattform-Spiels (UWP) ist das Entwickeln des Frameworks, mit dem das App-Objekt mit Windows interagieren kann.The first step in coding a Universal Windows Platform (UWP) game is building the framework that lets the app object interact with Windows.
SpielablaufverwaltungGame flow management Definieren Sie den Zustands Automaten auf hoher Ebene, um die Interaktion zwischen Player und System zu aktivieren.Define the high-level state machine to enable player and system interaction. Erfahren Sie, wie die Benutzeroberfläche mit dem Zustands Automat des gesamten Spiels interagiert und wie Sie Ereignishandler für UWP-Spiele erstellen.Learn how UI interacts with the overall game's state machine and how to create event handlers for UWP games.
Definieren des Hauptobjekts für das SpielDefine the main game object Nun sehen wir uns die Details des Haupt Objekts des Beispiel Spiels an und wie die implementierten Regeln in Interaktionen mit der Spiel Welt übersetzt werden.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.
Renderingframework I: Einführung in RenderingRendering framework I: Intro to rendering Erfahren Sie, wie Sie die Renderingpipeline zum Anzeigen von Grafiken entwickeln.Learn how to develop the rendering pipeline to display graphics. Einführung in das Rendering.Intro to rendering.
Renderingframework II: Spiel RenderingRendering framework II: Game rendering Erfahren Sie, wie Sie die Rendering-Pipeline zum Anzeigen von Grafiken zusammenstellen.Learn how to assemble the rendering pipeline to display graphics. Spiele Rendering, einrichten und Vorbereiten von Daten.Game rendering, set up and prepare data.
Hinzufügen einer BenutzeroberflächeAdd a user interface Erfahren Sie, wie Sie einem DirectX UWP-Spiel eine Überlagerung der 2D-Benutzeroberfläche hinzufügen.Learn how to add a 2D user interface overlay to a DirectX UWP game.
Hinzufügen von SteuerelementenAdd controls Nun sehen wir uns an, wie das Beispiel Spiel die Steuerelemente für das Verschieben von Steuerelementen in einem 3D-Spiel implementiert und wie einfache Steuerelemente für Finger Eingaben, Maus und Spielcontroller entwickelt werden.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.
Hinzufügen von SoundAdd sound Entwickeln Sie eine einfache Sound-Engine mithilfe von XAudio2-APIs, um Spiele Musik und Soundeffekte wiederzugeben.Develop a simple sound engine using XAudio2 APIs to playback game music and sound effects.
Erweitern des SpielbeispielsExtend the sample game Erfahren Sie, wie Sie eine XAML-Überlagerung für ein UWP DirectX-Spiel implementieren.Learn how to implement a XAML overlay for a UWP DirectX game.