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

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

Геометрия используемая для двухмерной визуализации в трехмерном пространстве
Загрузка текстур
Функция vRender()
Функция vDrawInterfaceObject()
Отображение текстуры в трехмерном пространстве на экране

Расположение текстур на титульном экране
Горячие точки или как я научился любить щелчки мыши
Обнаружение активных зон
Окно программы D3D_MouseZones
Архитектура проекта D3D_MouseZones


Заголовочный файл Main h
Глобальные данные активных зон
Файл программы Main cpp
Функция WinMain()
Первый экран программы D3D_MouseZones

Функция vSetupMouseZones()
Функция MouseZoneClass vFreeZones()
Функция MouseZoneClass vInitialize()
Функция MouseZoneClass iAddZone()
Функция vCheckInput()
Управление щелчками мыши
Вычисление смещения клиентской области окна на рабочем столе
Различия между клиентской областью и пространством рабочего стола
Перемещение окна на рабочем столе
Вычисление местоположения указателя мыши

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

Функция MouseZoneClass MouseZoneClass()
Функция MouseZoneClass ~MouseZoneClass()
Функция MouseZoneClass vInitialize()
Функция MouseZoneClass vFreeZones()
Функция MouseZoneClass iAddZone()
Функция MouseZoneClass iRemoveZone()
Функция MouseZoneClass bCheckZones()
Подсветка пунктов меню
Архитектура проекта D3D_MouseZoneHighlights
Заголовочный файл Main h

Главное меню с подсветкой кнопки Options
Файл программы Main cpp
Как определить подсвечиваемую активную зону
Как создать подсвечиваемую активную зону
Как отобразить подсветку активной зоны
Изображения меню для реализации подсветки
Итоги
Звуковые API
Архитектура DirectMusic
Загрузчик DirectMusic

Исполнитель DirectMusic
Сегменты DirectMusic
Как воспроизвести файл WAV
Проект DMusic_PlaySound
Поток выполнения программы DMusic_PlaySound
Заголовочный файл Main h
Этапы инициализации DirectMusic
Функция vPlaySound()
Воспроизведение звука
Как воспроизвести файл MIDI

Окно программы DMusic_PlayMIDI
Как воспроизвести файл MP3
Окно программы DShow_PlayMP3
DirectShow
Проект DShow_PlayMP3
Заголовочный файл Main h
Граф фильтров
Граф фильтров MP3
Управление аудиовизуальным потоком
События аудиовизуального потока

Позиционирование аудиовизуального потока
Файл программы Main cpp
Функция bPlayTitleMusic()
Инициализация DirectShow
Этапы инициализации DirectShow
Загрузка музыкального файла
Установка темпа воспроизведения
Воспроизведение музыки
Перехват фоновых событий
Функция vCheckMusicStatus()

Проверка кода события
Остановка музыки
Перемотка музыки
Запуск музыки
Поток исполнения программы воспроизведения MP3
Реализация классов звуковой системы
Класс звуковой системы
Структура класса звуковой системы
Определение класса звуковой системы
Определение класса звукового фрагмента

Взаимодействие класса звуковой системы и класса звукового фрагмента
Реализация класса звуковой системы
Деструктор SoundSystem ~SoundSystem()
Функция SoundSystem hrInitSoundSystem()
Функция SoundSystem hrLoadSound()
Функция SoundSystem hrPlaySound()
Реализация класса звукового фрагмента
Взаимодействие объектов классов звуковой системы и звукового фрагмента
Пример использования класса звуковой системы
Окно программы DSound_SoundSystem

Инициализация класса звуковой системы
Воспроизведение звуковых фрагментов
Работа программы использующей класс звуковой системы
Использование класса звуковой системы в меню
Структура реализации звуковой системы в заголовочном файле проекта D3D_MenuSounds
Структура реализации звуковой системы в главном файле проекта D3D_MenuSoundsSound
Итоги
Проектирование подразделений
Название подразделения
Способ передвижения

Передвижение по земле
Передвижение по воздуху
Передвижение по воде
Полеты в космосе
Скорость передвижения
Скороость передвижения
Тип атаки
Два типа подразделений используют один тип атаки
Тип защиты
Два подразделения с различными типами защиты

Содержание раздела