Создание простой игры универсальной платформы Windows (UWP) с использованием DirectX

В этом наборе учебников вы узнаете, как использовать DirectX и C++/WinRT для создания примера простой универсальная платформа Windows (UWP) с именем Simple3DGameDX. Игровой процесс разворачивается в простом 3D-тире от первого лица.

Примечание

Ссылка, по которой можно скачать пример игры Simple3DGameDX , — это пример игры Direct3D. Исходный код C++/WinRT находится в папке с именем cppwinrt. Сведения о других примерах приложений UWP см. в разделе Примеры приложений для разработки для Windows.

В этих руководствах рассматриваются все основные части игры, включая процессы загрузки ресурсов, таких как искусство и сетки, создание main игрового цикла, реализация простого конвейера отрисовки и добавление звука и элементов управления.

Вы также увидите методы и рекомендации по разработке игр UWP. Мы сосредоточимся на ключевых понятиях разработки игр UWP DirectX и рассмотрим особенности среды выполнения Windows, связанные с этими понятиями.

Назначение

Узнайте об основных понятиях и компонентах игры UWP DirectX, а также о более удобном проектировании игр UWP с помощью DirectX.

Это важно знать

В этом руководстве необходимо ознакомиться с этими вопросами.

  • C++/WinRT. C++/WinRT — это стандартная современная проекция языка C++17 для API Windows, реализованная в виде библиотеки на основе файлов заголовков и предназначенная для предоставления первоклассных доступа к современным API Windows.
  • Базовое знание линейной алгебры и ньютоновской физики.
  • Базовое знание терминологии программирования графики.
  • Базовое знание программирования в Windows.
  • Базовые знания API Direct2D и Direct3D 11.

Пример игры Simple3DGameDX реализует простой трехмерный тир от первого лица, где игрок стреляет шарами по движущимся целям. Попадание в цель приносит определенное количество очков, и игрок может пройти 6 уровней с возрастающей сложностью. После прохождения всех уровней очки суммируются, и игрок видит окончательный счет.

В примере демонстрируются эти игровые понятия.

  • Взаимодействие между DirectX 11.1 и средой выполнения Windows
  • Преобразование перспективы и камера в трехмерной игре от первого лица
  • Стереоскопические трехмерные эффекты
  • Обнаружение конфликтов между объектами в трехмерном режиме
  • Обработка пользовательского ввода с помощью мыши, сенсорного экрана и контроллера Xbox
  • Микширование звука и воспроизведение
  • Базовый автомат состояния игры

пример игры в действии

Раздел Описание
Настройка проекта игры Первым шагом в разработке игры является настройка проекта в Microsoft Visual Studio. Настроив проект специально для разработки игр, вы можете повторно использовать его в качестве своего рода шаблона.
Определение структуры приложения UWP Первым шагом в написании универсальная платформа Windows игры (UWP) является создание платформы, которая позволяет объекту приложения взаимодействовать с Windows.
Управление потоком игры Определите высокоуровневый конечный автомат, чтобы сделать возможным взаимодействие игрока и системы. Узнайте, как пользовательский интерфейс взаимодействует с конечным автоматом игры, а также как создавать обработчики событий для игр UWP.
Определение основного игрового объекта Теперь мы рассмотрим детали объекта main образца игры и то, как правила, которые он реализует, преобразуется во взаимодействие с игровым миром.
Платформа отрисовки I: введение в отрисовку Узнайте, как разработать конвейер отрисовки для отображения графики. Введение в отрисовку.
Платформа отрисовки II: отрисовка игры Узнайте, как собрать конвейер отрисовки для отображения графических объектов. Отрисовка игры, настройка и подготовка данных.
Добавление пользовательского интерфейса Узнайте, как добавить наложение двухмерного пользовательского интерфейса в игру UWP DirectX.
Добавление элементов управления Теперь мы рассмотрим, как пример игры реализует элементы управления перемещением и взглядом в трехмерной игре и как разрабатывать базовые элементы управления сенсорным вводом, мышью и игровым контроллером.
Добавление звука Разработка простого звукового механизма с помощью API XAudio2 для воспроизведения музыки и звуковых эффектов игры.
Расширение образца игры Узнайте, как реализовать наложение XAML в игре UWP на базе DirectX.