Программирование стратегических игр с DirectX 9.0

bda5893f

Программирование стратегических игр с DirectX 9.0


Краткий обзор
Определение требований к интерфейсу
Активные зоны и графика
Детализация схемы интерфейса
Взаимосвязь шаблонов интерфейса
Звуковое оформление интерфейса
Состояния интерфейса

Раскадровка интерфейса
Удобство и простота интерфейса
Щелчки мышью и взаимодействие с интерфейсом
Сложность навигации по меню
Согласованность интерфейса


Двухмерная графика в Direct3D
Архитектура проекта D3D_TitleScreen
Заголовочный файл Main.h
Ключевые типы данных Direct3D
Структура данных настраиваемого формата вершин (FVF)

Данные местоположения
Данные нормали
Данные текстуры
Определение формата вершины
Прототипы функций
Файл программы Main.cpp
Функция WinMain()
Вычисление смещения клиентской области
Функция InitD3D()
Создание объекта Direct3D

Настройка параметров отображения
Создание устройства трехмерной визуализации
Создание устройства трехмерной визуализации - 2
Настройка среды визуализации

Функция vInitInterfaceObjects()
Создание буфера вершин
Блокировка буфера вершин
Заполнение буфера вершин данными
Загрузка текстур
Функция vRender()
Функция vDrawInterfaceObject()

Горячие точки, или как я научился любить щелчки мыши
Обнаружение активных зон
Архитектура проекта D3D_MouseZones
Заголовочный файл Main.h
Глобальные данные активных зон
Файл программы Main.cpp
Функция WinMain()

Функция vSetupMouseZones()
Функция MouseZoneClass::vFreeZones()
Функция MouseZoneClass::vInitialize()
Функция MouseZoneClass::iAddZone()
Функция vCheckInput()
Управление щелчками мыши
Вычисление смещения клиентской области окна на рабочем столе
Вычисление местоположения указателя мыши
Функция MouseZoneClass::bCheckZones()
Обнаружение сообщений кнопок мыши

Выход из программы
Динамическое отображение меню
Заголовочный файл MouseZoneClass.h
Структура данных stHotSpot
Закрытые члены данных класса MouseZoneClass
Функции класса MouseZoneClass
Файл MouseZoneClass.cpp
Функция MouseZoneClass::MouseZoneClass()
Функция MouseZoneClass::vInitialize()

Функция MouseZoneClass::vFreeZones()
Функция MouseZoneClass::iAddZone()
Функция MouseZoneClass::iRemoveZone()
Функция MouseZoneClass::bCheckZones()
Подсветка пунктов меню
Архитектура проекта D3D_MouseZoneHighlights
Заголовочный файл Main.h
Файл программы Main.cpp
Как определить подсвечиваемую активную зону
Как определить подсвечиваемую активную зону - 2

Как создать подсвечиваемую активную зону
Как отобразить подсветку активной зоны
Содержание раздела