| Украина, Киев |
Программирование простой игры в DirectX
Файлы к лабораторной работе Вы можете скачать
здесь.
В настоящей лабораторной работе мы используем средства управляемого DirectX и построим простую игру. Для любого коммерческого варианта игры нужно вначале построить подробный план, в котором тщательно продумать все существенные детали и игру в целом. Обычно для этого применяется язык диаграмм UML. Но наша игра простая и цели наши другие.
Программу построим из трех основных классов:
- Основной класс формы - DodgerGame (движок игры)
- Класс управления автомобилем - Car
- Класс управления препятствиями - Obstacle
Создание заготовки приложения
-
Выберите
каталог для размещения проекта и командой File/New/Project создайте новый пустой проект C# с именем Dodger
-
Выполните
команду меню Project/Add Reference и добавьте
к проекту ссылки на следующие библиотечные сборки
Примечание. В трех последних сборках выбирайте версии в соответствии с рисунком
-
Командой
меню Project/Add New Item добавьте к проекту класс DodgerGame,
который будет играть роль движка нашей игры
-
Удалите
из проекта автоматически сгенерированные при
добавлении класса ненужные ссылки на библиотечные сборки
-
Добавьте
в начало файла DodgerGame.cs соответствующие using -директивы
using System; using System.Drawing; using System.Windows.Forms; using Microsoft.DirectX; using Microsoft.DirectX.Direct3D;Листинг 17.1. Добавление using-директив в файле DodgerGame.cs
-
Сделайте
класс DodgerGame наследником библиотечного
класса Form (отметьте, что пиктограмма
класса в панели Solution Explorer сразу
изменилась) и пропишите конструктор класса DodgerGame следующим
образом
public class DodgerGame : Form
{
public DodgerGame()
{
this.Size = new Size(800, 600); // Размер окна формы
this.Text = "Lab37. Игра Dodger"; // Заголовок окна
}
}
Листинг
17.2.
Конструктор класса DodgerGame
-
Добавьте
в проект командой Project/Add New Item новый класс с именем AppEntry,
в котором разместите точку входа приложения
-
Отредактированный
класс должен быть таким
namespace Dodger
{
public class AppEntry
{
static void Main()
{
using (DodgerGame frm = new DodgerGame())
{
System.Windows.Forms.Application.Run(frm);
}
}
}
}
Листинг
17.3.
Класс AppEntry с точкой входа приложения
Инструкция using в данном применении заставит сборщик мусора выполниться сразу же после завершения ее работы.
-
Установите
командой Project/Dodger Properties в окне
свойств проекта оконный режим работы приложения
На этом подготовительные операции по созданию заготовки проекта окончены. Теперь приступим к программированию самой игры с использованием классов управляемого DirectX.
Программирование движка игры
Движком игры у нас будет класс DodgerGame. Именно в нем мы будем организовывать отображение сцены и управление игрой. Визуально этот класс представлен окном формы, поскольку наследует базовый класс Form.





