Erstellen eines einfachen Universelle Windows-Plattform (UWP)-Spiels mit DirectX
In dieser Reihe von Lernprogrammen erfahren Sie, wie Sie DirectX und C++/WinRT verwenden, um das grundlegende Universelle Windows-Plattform (UWP)-Beispielspiel mit dem Namen Simple3DGameDX zu erstellen. Das Spiel findet in einer einfachen 3D-Schießgalerie statt.
Hinweis
Der Link, über den Sie das Simple3DGameDX-Beispielspiel selbst herunterladen können, ist das Direct3D-Beispielspiel. Der C++/WinRT-Quellcode befindet sich im Ordner mit dem Namen cppwinrt
. Informationen zu anderen UWP-Beispiel-Apps finden Sie unter Beispielanwendungen für die Windows-Entwicklung.
Diese Lernprogramme umfassen alle wichtigen Teile eines Spiels, einschließlich der Prozesse zum Laden von Ressourcen wie Kunst und Gittern, zum Erstellen einer Hauptspielschleife, zum Implementieren einer einfachen Renderingpipeline und zum Hinzufügen von Sound und Steuerelementen.
Außerdem werden UWP-Spielentwicklungstechniken und Überlegungen angezeigt. Wir konzentrieren uns auf wichtige Konzepte für die Entwicklung von UWP-DirectX-Spielen und nennen Windows-Runtime-spezifische Überlegungen zu diesen Konzepten.
Ziel
Informationen zu den grundlegenden Konzepten und Komponenten eines UWP-DirectX-Spiels und zum komfortableren Entwerfen von UWP-Spielen mit DirectX.
Was Sie wissen müssen
Für dieses Lernprogramm müssen Sie mit diesen Themen vertraut sein.
- C++/WinRT. C++/WinRT ist eine standardmäßige moderne C++17-Sprachprojektion für Windows-APIs, die als headerdateibasierte Bibliothek implementiert ist und Ihnen erstklassigen Zugriff auf die modernen Windows-APIs bietet.
- Grundlegende lineare Algebra und Newtonische Physikkonzepte.
- Grundlegende Terminologie für die Grafikprogrammierung.
- Grundlegende Konzepte der Windows-Programmierung.
- Grundlegende Kenntnisse mit den Direct2D - und Direct3D 11-APIs .
Beispiel für die Direct3D-UWP-Schießgalerie
Das Simple3DGameDX-Beispielspiel implementiert einen einfachen 3D-Schießstand, in dem der Spieler Kugeln an sich bewegenden Zielen feuert. Wenn Sie jedes Ziel erreichen, wird eine festgelegte Anzahl von Punkten vergeben, und der Spieler kann bis zu 6 Ebenen der zunehmenden Herausforderung vorankommen. Am Ende der Level werden die Punkte hoch gesetzt, und der Spieler erhält einen Endwert.
Im Beispiel werden diese Spielkonzepte veranschaulicht.
- Interoperabilität zwischen DirectX 11.1 und dem Windows-Runtime
- Eine 3D-Perspektive und Kamera der ersten Person
- Stereskopische 3D-Effekte
- Kollisionserkennung zwischen Objekten in 3D
- Behandeln von Spielereingaben für Maus-, Touch- und Xbox-Controllersteuerungen
- Audiomixing und -wiedergabe
- Ein einfacher Spielzustandsautomat
Thema | Beschreibung |
---|---|
Einrichten des Spieleprojekts | Der erste Schritt bei der Entwicklung Ihres Spiels besteht darin, ein Projekt in Microsoft Visual Studio einzurichten. Nachdem Sie ein Projekt speziell für die Spieleentwicklung konfiguriert haben, können Sie es später als eine Art Vorlage erneut verwenden. |
Definieren des UWP-App-Frameworks für das Spiel | Der erste Schritt beim Codieren eines UWP-Spiels (Universelle Windows-Plattform) besteht darin, das Framework zu erstellen, mit dem das App-Objekt mit Windows interagieren kann. |
Spielablaufverwaltung | Definieren Sie den allgemeinen Zustandsautomat, um Spieler- und Systeminteraktion zu ermöglichen. Erfahren Sie, wie die Benutzeroberfläche mit dem Zustandsautomaten des gesamten Spiels interagiert und wie Sie Ereignishandler für UWP-Spiele erstellen. |
Definieren des Hauptobjekts für das Spiel | Nun betrachten wir die Details des Hauptobjekts des Beispielspiels und wie die implementierten Regeln in Interaktionen mit der Spielwelt übersetzt werden. |
Renderingframework I: Einführung in das Rendering | Erfahren Sie, wie Sie die Renderingpipeline zum Anzeigen von Grafiken entwickeln. Einführung in das Rendern. |
Renderingframework II: Spielrendering | Erfahren Sie, wie Sie die Renderingpipeline zusammensetzen, um Grafiken anzuzeigen. Spielrendering, Einrichten und Vorbereiten von Daten. |
Hinzufügen einer Benutzeroberfläche | Erfahren Sie, wie Sie einem DirectX-UWP-Spiel eine 2D-Benutzeroberflächenüberlagerung hinzufügen. |
Hinzufügen von Steuerelementen | Nun sehen wir uns an, wie das Beispielspiel Bewegungs-/Blicksteuerungen in einem 3D-Spiel implementiert und wie Sie grundlegende Touch-, Maus- und Gamecontroller-Steuerelemente entwickeln. |
Hinzufügen von Sound | Entwickeln Sie ein einfaches Soundmodul mit XAudio2-APIs zum Wiedergeben von Spielmusik und Soundeffekten. |
Erweitern des Spielbeispiels | Erfahren Sie, wie Sie ein XAML-Overlay für ein UWP-DirectX-Spiel implementieren. |