Entwickeln von Marble Maze – ein Universelle Windows-Plattform (UWP)-Spiel, das mit C++ für DirectX erstellt wurde
In diesem Thema wird beschrieben, wie Sie DirectX und C++ verwenden, um ein UWP-Spiel (3D Universelle Windows-Plattform) zu erstellen. Das Spiel namens Marble Maze umfasst mehrere Formfaktoren wie Tablets, herkömmliche Desktop-PCs und Laptop-PCs.
Hinweis
Informationen zum Herunterladen des Marble Maze-Quellcodes finden Sie im Beispiel auf GitHub.
Wichtig
Marble Maze veranschaulicht Entwurfsmuster, die wir als bewährte Methoden für die Erstellung von UWP-Spielen betrachten. Viele der Implementierungsdetails können Sie an Ihre eigenen Vorgehensweisen und die konkreten Anforderungen des von Ihnen entwickelten Spiels anpassen. Wenn es Ihren Anforderungen besser entgegenkommt, können Sie natürlich auch andere Verfahren oder Bibliotheken verwenden. (Stellen Sie jedoch immer sicher, dass Ihr Code das Zertifizierungskit für Windows-Apps übergibt.) Wenn wir eine hier verwendete Implementierung als wesentlich für eine erfolgreiche Spieleentwicklung betrachten, betonen wir dies in dieser Dokumentation.
Einführung in Marble Maze
Wir haben Marble Maze ausgewählt, weil es relativ einfach ist, aber immer noch die Breite der Features zeigt, die in den meisten Spielen zu finden sind. Die Verwendung von Grafiken kann ebenso erläutert werden wie die Verarbeitung von Eingaben und Audiodaten. Außerdem kann die Spielmechanik gezeigt werden, etwa Regeln und Ziele.
Marble Maze ähnelt dem Tischlabyrinthspiel, das typischerweise aus einer Box besteht, die Löcher und eine Stahl- oder Glasmarmore enthält. Das Ziel von Marble Maze ist dasselbe wie die Tischversion: Das Labyrinth zu kippen, um die Murmel in möglichst kurzer Zeit vom Anfang bis zum Ende des Labyrinths zu führen, ohne die Murmel in eines der Löcher fallen zu lassen. Marble Maze fügt das Konzept der Prüfpunkte hinzu. Wenn die Murmel in ein Loch fällt, beginnt das Spiel am letzten Kontrollpunkt neu, den die Murmel passiert hat.
Marble Maze bietet einem Benutzer mehrere Möglichkeiten, mit dem Spielbrett zu interagieren. Wenn Sie über ein Gerät verfügen, das Toucheingaben oder einen Beschleunigungsmesser unterstützt, können Sie das Spielbrett mit diesen Geräten bewegen. Sie können auch einen Xbox One-Controller oder eine Maus verwenden, um das Spiel zu steuern.
Voraussetzungen
- Windows 10 Creators Update
- Microsoft Visual Studio 2017
- Kenntnisse in der C++-Programmierung
- Erfahrung mit DirectX und der Terminologie von DirectX
- Grundkenntnisse in COM
Zielgruppe dieses Artikels
Wenn Sie daran interessiert sind, 3D-Spiele oder andere grafikintensive Anwendungen für Windows 10 zu erstellen, ist dies für Sie. Wir hoffen, dass Ihnen die in dieser Dokumentation skizzierten Prinzipien und praktischen Vorgehensweisen dabei helfen, eigene UWP-Spiele zu erstellen. Den größten Nutzen aus dieser Dokumentation werden Sie ziehen, wenn Sie bereits über Erfahrungen mit C++ und DirectX verfügen oder sich sehr dafür interessieren. Wenn Sie keine Erfahrung mit DirectX haben, können Sie dennoch davon profitieren, wenn Sie Erfahrung mit ähnlichen 3D-Grafikprogrammierumgebungen haben.
Das Dokument Exemplarische Vorgehensweise: Erstellen eines einfachen UWP-Spiels mit DirectX beschreibt ein weiteres Beispiel, das ein einfaches 3D-Schießspiel mithilfe von DirectX und C++ implementiert.
In dieser Dokumentation behandelte Themen
In dieser Dokumentation wird Folgendes beschrieben:
- Erstellen eines UWP-Spiels mit der Windows-Runtime-API und DirectX
- Verwenden Sie Direct3D und Direct2D , um mit visuellen Inhalten wie Modellen, Texturen, Vertex- und Pixelshadern und 2D-Überlagerungen zu arbeiten.
- Integrieren Sie Eingabemechanismen wie Toucheingabe, Beschleunigungsmesser und den Xbox One-Controller.
- Integrieren von Musik und Soundeffekten mit XAudio2
In dieser Dokumentation nicht behandelte Themen
Folgende Aspekte der Spieleentwicklung werden in dieser Dokumentation nicht behandelt. Im Anschluss an diese Aspekte folgen zusätzliche Ressourcen, in denen sie behandelt werden.
- 3D-Spielentwurfsprinzipien.
- Grundlagen der C++- und DirectX-Programmierung
- Entwerfen von Ressourcen wie Texturen, Modellen oder Audio
- Beheben von Verhaltens- oder Leistungsproblemen in Spielen
- Vorbereiten von Spielen für andere Teile der Welt
- So zertifizieren und veröffentlichen Sie Ihr Spiel im Microsoft Store.
Marble Maze verwendet auch die DirectXMath-Bibliothek , um mit 3D-Geometrie zu arbeiten und physikalische Berechnungen wie z. B. Kollisionen durchzuführen. DirectXMath wird in diesem Abschnitt nicht eingehend beschrieben. Ausführliche Informationen dazu, wie Marble Maze DirectXMath verwendet, finden Sie im Quellcode.
Marble Maze bietet zwar viele wiederverwendbare Komponenten, ist aber kein vollständiges Framework für die Spieleentwicklung. Wenn wir eine Marble Maze-Komponente als wiederverwendbar in Ihrem Spiel betrachten, wird dies in der Dokumentation hervorgehoben.
Nächste Schritte
Es wird empfohlen, mit den Grundlagen von Marble Maze-Beispielen zu beginnen, um mehr über die Marble Maze-Struktur und einige der Code- und Stilrichtlinien zu erfahren, die der Marble Maze-Quellcode befolgt. Die folgende Tabelle skizziert die Dokumente in diesem Abschnitt, sodass Sie einen genaueren Überblick über diese gewinnen.
In diesem Abschnitt
Titel | BESCHREIBUNG |
---|---|
Grundlagen von Marble Maze-Beispielen | Bietet einen Überblick über die Struktur des Spiels und einige Richtlinien zu Codierung und Stil im Marble Maze-Quellcode. |
Marble Maze-Anwendungsstruktur | Beschreibt, wie der Marble Maze-Anwendungscode strukturiert ist und wie sich die Struktur einer DirectX UWP-App von der einer herkömmlichen Desktopanwendung unterscheidet. |
Hinzufügen von visuellem Inhalt zum Marble Maze-Beispiel | Beschreibt einige der zentralen praktischen Verfahren, die bei der Arbeit mit Direct3D und Direct2D zu beachten sind. Außerdem wird beschrieben, wie Marble Maze diese Methoden für visuelle Inhalte anwendet. |
Hinzufügen von Eingaben und Interaktivität zum Marble Maze-Beispiel | Beschreibt, wie Marble Maze mit Beschleunigungsmessern, Toucheingaben und Xbox One-Controllereingaben funktioniert, damit Benutzer in Menüs navigieren und mit dem Spielbrett interagieren können. Beschreibt außerdem einige bewährte Methoden, die bei der Arbeit mit Eingaben beachtet werden sollten. |
Hinzufügen von Audio zum Marble Maze-Beispiel | Beschreibt, wie Marble Maze mit Audio arbeitet, um der Spielerfahrung Musik und Soundeffekte hinzuzufügen. |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für