Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema wird beschrieben, wie Sie DirectX und C++ zum Erstellen eines 3D-Spiels für die universelle Windows-Plattform (UWP) verwenden. Das Spiel namens Marble Maze umfasst mehrere Formfaktoren wie Tablets, herkömmliche Desktop-PCs und Laptop-PCs.
Hinweis
Um den Marble Maze Quellcode herunterzuladen, sehen Sie sich das -Beispiel auf GitHuban.
Von Bedeutung
Marble Maze veranschaulicht Entwurfsmuster, die wir als bewährte Methoden zum Erstellen von UWP-Spielen betrachten. Sie können viele der Implementierungsdetails an Ihre eigenen Praktiken und die einzigartigen Anforderungen des Spiels anpassen, das Sie entwickeln. Sie können verschiedene Techniken oder Bibliotheken verwenden, wenn diese Ihren Anforderungen besser entsprechen. (Stellen Sie jedoch immer sicher, dass Ihr Code das Zertifizierungskit für Windows-Apps besteht.) Wenn wir eine hier verwendete Implementierung als unerlässlich für eine erfolgreiche Spieleentwicklung betrachten, betonen wir sie in dieser Dokumentation.
Vorstellung von Marble Maze
Wir haben Marble Maze ausgewählt, da es relativ einfach ist, aber dennoch die Breite der Features veranschaulicht, die in den meisten Spielen zu finden sind. Es zeigt, wie Grafiken, Eingabebehandlung und Audio verwendet werden. Außerdem werden Spielmechaniken wie Regeln und Ziele veranschaulicht.
Marble Maze ähnelt dem Tisch-Labyrinthspiel, das in der Regel aus einem Behälter mit Löchern und einer Stahl- oder Glaskugel besteht. Das Ziel von Marble Maze ist das gleiche wie bei der Tischvariante: Kippen Sie das Labyrinth, um die Murmel vom Anfang bis zum Ende des Labyrinths in kürzester Zeit zu führen, ohne dass die Murmel in eines der Löcher fällt. Marble Maze fügt das Konzept von Kontrollpunkten hinzu. Wenn die Murmel in ein Loch fällt, wird das Spiel am letzten Kontrollpunkt neu gestartet, über den die Murmel gegangen ist.
Marble Maze bietet mehrere Möglichkeiten, wie ein Benutzer mit dem Spielbrett interagiert. Wenn Sie über ein gerät mit Toucheingabe oder Beschleunigungsmesser verfügen, können Sie diese Geräte verwenden, um das Spielbrett zu verschieben. Sie können auch einen Controller oder eine Maus verwenden, um die Spielwiedergabe zu steuern.
Voraussetzungen
- Windows 10 Creators Update
- Microsoft Visual Studio 2017
- C++-Programmierkenntnisse
- Vertrautheit mit DirectX und der DirectX-Terminologie
- Grundkenntnisse in COM
Wer sollte dies lesen?
Wenn Sie 3D-Spiele oder andere grafikintensive Anwendungen für Windows 10 erstellen möchten, ist dies für Sie der Fall. Wir hoffen, dass Sie die Prinzipien und Praktiken verwenden, die in dieser Dokumentation beschrieben werden, um Ihr eigenes UWP-Spiel zu erstellen. Ein Hintergrund oder ein starkes Interesse an der C++- und DirectX-Programmierung hilft Ihnen dabei, diese Dokumentation optimal zu nutzen. Wenn Sie keine Erfahrung mit DirectX haben, können Sie dennoch profitieren, wenn Sie Erfahrungen mit ähnlichen 3D-Grafikprogrammierumgebungen haben.
Das Dokument Walkthrough: create a simple UWP game with DirectX beschreibt ein weiteres Beispiel, das ein einfaches 3D-Schießspiel mithilfe von DirectX und C++ implementiert.
Was diese Dokumentation behandelt
In dieser Dokumentation erfahren Sie, wie Sie:
- Verwenden Sie die Windows-Runtime-API und DirectX, um ein UWP-Spiel zu erstellen.
- 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 Gamecontroller.
- Verwenden Sie XAudio2 , um Musik- und Soundeffekte zu integrieren.
Was diese Dokumentation nicht behandelt
In dieser Dokumentation werden die folgenden Aspekte der Spieleentwicklung nicht behandelt. Auf diese Aspekte folgen zusätzliche Ressourcen, die sie abdecken.
- Designprinzipien für 3D-Spiele.
- Grundlagen der C++- oder DirectX-Programmierung.
- So entwerfen Sie Ressourcen wie Texturen, Modelle oder Audio.
- Wie man Verhaltens- oder Leistungsprobleme in Ihrem Spiel behebt
- So bereiten Sie Ihr Spiel auf die Verwendung in anderen Teilen der Welt vor.
- Wie Sie Ihr Spiel im Microsoft Store zertifizieren und veröffentlichen.
Marble Maze verwendet auch die DirectXMath-Bibliothek , um mit 3D-Geometrien zu arbeiten und physikalische Berechnungen auszuführen, z. B. Kollisionen. DirectXMath wird in diesem Abschnitt nicht ausführlich behandelt. Ausführliche Informationen dazu, wie Marble Maze DirectXMath verwendet, finden Sie im Quellcode.
Obwohl Marble Maze viele wiederverwendbare Komponenten bereitstellt, ist es kein vollständiges Framework für die Spieleentwicklung. Wenn wir eine Marble Maze Komponente als wiederverwendbar in Ihrem Spiel betrachten, heben wir es in der Dokumentation hervor.
Nächste Schritte
Es wird empfohlen, mit den Fundamenten des Marble Maze-Beispiels zu beginnen, um mehr über die Struktur des Marble Maze zu lernen und einige Richtlinien für Codierung und Stil zu erfahren, die der Marble Maze Quellcode befolgt. In der folgenden Tabelle werden die Dokumente in diesem Abschnitt beschrieben, sodass Sie leichter darauf verweisen können.
In diesem Abschnitt
| Titel | BESCHREIBUNG |
|---|---|
| Marble Maze-Beispielgrundsätze | Bietet eine Übersicht über die Spielstruktur und einige der Code- und Stilrichtlinien, die der Quellcode folgt. |
| 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 visueller Inhalte zum Marble Maze-Beispiel | Beschreibt einige der wichtigsten Methoden, die Sie berücksichtigen sollten, wenn Sie mit Direct3D und Direct2D arbeiten. Beschreibt außerdem, wie Marble Maze diese Methoden für visuelle Inhalte anwendet. |
| Hinzufügen von Eingabe und Interaktivität zum Marble Maze-Beispiel | Beschreibt, wie Marble Maze mit Beschleunigungsmesser-, Touch- und Gamecontrollereingaben arbeitet, damit Benutzer in Menüs navigieren und mit dem Spielbrett interagieren können. Beschreibt außerdem einige der bewährten Methoden, die Sie berücksichtigen sollten, wenn Sie mit Eingaben arbeiten. |
| Hinzufügen von Audio zum Marble Maze-Beispiel | Beschreibt, wie Marble Maze mit Audio arbeitet, um der Spielerfahrung Musik- und Soundeffekte hinzuzufügen. |