| [Главная] [Новости] [Статьи] [Игры] [Проекты] | [Автор] | |||
| Основы 3D-программирования DirectX8.1 в Delphi 6-7: теоретические и практические основы создания игр. | ||||
Назначение
класса TD3D_GDOList |
||||
| модуль
DX8CommonTypes.pas классы - TD3D_GDOListItem - TD3D_GDOList Класс
TD3D_GDOList - контейнер для всех графических объектов (нечто ================================================ Правила использования класса TD3D_GDOList ================================================ - В модуле приложения создать классы графических объектов, производные от класса TD3D_GDOListItem; -
В переопределенных методах и в методах с префиксом Do описать необходимую
реализацию соотвествующей стадии -
В методе создания объекта приложения создать все необходимые объекты, -
в соответствующих стадиях приложения вызывать методы объекта с типом TD3D_GDOList,
т.е. D3D_GDOList.Render;
Функционирование
приложения может быть таково, что не все объекты списка D3D_GDOList Для
отдельных независимых объектов, требующих отрисовки в отдельное время,
можно |
||||
| ======================================================================
Рабочие заметки ====================================================================== Работа
с объектами GDI (Graphic Device Interface) через DirectX требует для использования возьмем любой класс для работы с GDI DX, например
TD3DImage2D Создание
контейнера объекта - Установка
необходимых параметров, создание буферов, программная генерация моделей
(и т.п.) Сигнал
о нарушении установленных параметров и о необходимости их перенастройки Удаление
ресурсов из памяти(DestroyDeviceObjects ) Удаление
контейнера объекта Кроме
того, в методах D3D-приложения - Render и FrameMove вызываются необходимые
методы Несомненно,
что всё это увеличивает и усложняет исходный код. Необходимо
было только - создать классы в рабочем коде, добавить их в список TD3D_GDOList - в рабочем коде вызывать методы данного класса в нужных стадиях. Данный
класс, в свою очередь, будет вызывать на нужной стадии соответствующие
методы Это
позволит: Общий
объем кода не сократится, т.к. будет перенесен внутрь каждого конкретного
объекта, |
||||
| [Назад] [Все уроки] | ||||
| [Главная] [Новости] [Статьи] [Игры] | ||||
| (c) Мега Информатик 2006-2007 | ||||