Любое
приложение начинается со стартовой заготовки - шаблона.
Создание
Delphi DirectX приложения можно выполнить в виде окна с использованием
компонентов VCL или в виде Win32-приложения. К этому каркасу будет
добавлен код, необходимый для работы с DirectX.
Для
создания оконного приложения на основе VCL Вам не потребуется особых
усилий, если Вы хорошо знакомы с основами создания приложений в
Delphi. Создание кода для Win32-приложения будет немного сложнее
для новичка, но не на столько сложно, как может показаться на первый
взгляд.
Мы
с Вами начнем с VCL-приложения. Это будет всего лишь класс формы,
производный от TForm, к которому мы добавим необходимый код для
создания стартового шаблона - минимального кода, необходимого для
создания простейшего Delphi DirectX 8.1 - приложения.
Это
приложение должно всего лишь создать окно формы и заполнить его рабочую
область любым заданным Вами цветом.
Далее
мы будем рассматривать работу в среде Delphi 2006. Из среды Delphi
7 все действия будут подобны, с тем лишь отличием, что названия нужных
пунктов могут несколько отличатся от описанного, но это будет указано
особо!
Создадим
новый проект Delphi 2006
File
> New > VCL Forms Application - Delphi for Win32
В
Delphi 7 для этого нужно выбрать
File
> New > Application
Созданный
проект нужно предварительно сохранить в какую-либо удобную для Вас
папку. После этого скомпилировать и запустить.
Если
у Вас есть даже небольшой опыт создания Windows-приложений в среде
Delphi, то это Вы уже должны уметь.
Фактически
за Вас всё сделала среда Delphi. Начальная заготовка Windows-приложения
готова. Это всего лишь окно, которое появляется на экране при запуске
приложения и реагирует на стандартные команды любого типового окна
Windows - сворачивается, разворачивается, закрывается, позволяет
изменять размеры и т.п.
Сейчас
Мы добавим в шаблон код, который превратит данное приложение в Windows
- DirectX.
Поскольку
окно нашего приложения будет всего одно и единственное, оно будет
главным, поэтому для удобства класс окна лучше сразу назвать вместо
TForm1 как TMainForm
Для
этого в окне структур откройте переменную Form1
А
в инспекторе объектов найдите её свойство Name и переименуйте Form1
в MainForm и нажмите Enter.
В
код класса формы TMainForm добавьте обработчик события OnFormShow
Для
этого в окне Инспектора объектов выберите вкладку Events, найдите
событие с данным именем и щелкните дважды в пустом поле напротив
этого события. При этом в коде класса будет сгенерирован начальный
код для обработчика данного события -
Добавьте
пока между операторами begin и end метода procedure TMainForm.FormShow
оператор
комментария
//
Этот
оператор не выполняет никаких действий, но поскольку какой-то код
в обработчик уже добавлен, то при сохранении проекта обработчик уже
не будет автоматически удаляться как если Вы оставите его сгенерированный
код без изменений.
Теперь
вместо данного комментария добавьте в обработчик следующий код -
Мы
видим, что среда Delphi подчеркнула фразы g_d3dApp и InitD3DApp. Всё
правильно, поскольку мы еще не объявили эти идентификаторы.
Восполним
этот недостаток.
В
секцию интерфейса класса TMainForm добавим следующий код -
Это
решит проблему, но тут же возникнет новая - необъявленный идентификатор
типа TD3DGameApp
Мы
добавим этот класс чуть позже, а пока после фразы type и перед секцией
начала описания класса TMainForm
нужно
добавить строку кода
TD3DGameApp
= class;
Теперь
нужно добавить реализацию метода InitD3DApp, описание и реализацию
класса TD3DGameApp и другой необходимый для шаблона Delphi DirectX
- приложения код
В
секции интерфейса добавим реализацию метода InitD3DApp -
procedure
TMainForm.InitD3DApp;
begin
g_d3dApp := TD3DGameApp.Create;
//g_d3dApp.fAppForm := Self;
m_hwndRenderWindow := 0;
// сохранение статичной ссылки на обработчик рабочей области панели
окна приложения
m_hwndRenderWindow:= RenderWindowPanel.Handle;
Вас
не должно пугать количество ошибок, которые были выделены в коде.
Все эти идентификаторы и методы мы будем постепенно добавлять далее
Несколько
слов о сути работы нашего будущего приложения
Оно
будет работать следующим образом:
В
момент показа окна формы (событие OnFormShow и его обработчик FormShow)
будет вызываться метод инициализации D3D-приложения (InitD3DApp).
Слово D3D означает сокращение от Direct3D, а поскольку Delphi DirectX
используется именно для работы с Direct3D, то D3D-приложение будет
являться синонимом Delphi DirectX - приложения и будет употребляться
наряду с ним.
В
момент разрушения окна формы (событие OnFormDestroy) будет вызываться
код необходимый для освобождения памяти от созданных D3D-приложением
ресурсов.
В
методе бездействия приложения procedure TMainForm.ApplicationEventsIdle
(который мы создадим чуть позже) должен будет вызываться метод g_d3dApp.Render3DEnvironment
осуществляющий анимацию и отображение изображений игровых объектов
на поверхности окна формы или на поверхности других элементов управления,
например TPanel.
Компонент
TPanel удобен тем, что позволяет создать нужную область окна формы,
в которую будет выводиться изображение игры формируемое средствами
Direct3D.
В
дальнейшем, если Вы заглянете в код игры "Ну, Погоди!",
то увидите там метод Render3DEnvironment внутри которого вызываются
методы FrameMove и Render осуществляющие анимацию и отображение графики.
Кроме того, внутри метода FrameMove вызываются методы необходимые
для управления игрой со стороны пользователя от мыши, клавиатуры и
других устройств ввода.
Таким
образом функциональную схему D3D-приложения можно представить следующим
образом
На
данной схеме показаны основные функциональные связи D3D-приложения.
В случае Win32-приложения вместо класса формы TForm применяется
класс приложения TD3DGameApp. В нашем случае данный класс будет
создаваться, использоваться и уничтожаться внутри показанных методов
класса TMainForm.
Если
Вы заглянете в код проекта - файл с расширением bdsproj, то увидите,
что
То
есть сам класс формы управляется компонентом Application из библиотеки
VCL. В случае Win32-приложения это происходит без использования данного
компонента. Как? Вы можете увидеть в коде примера игры [Пример
игры Donuts3D]
Теперь
Вам должен быть ясен основной функционал нашего будущего приложения.
Весь
остальной код, реализующий загрузку необходимых ресурсов (моделей,
текстур, текста, музыки, звуков и т.д.), игровую логику, какие-либо
сервисы и прочее вызывается из показанных на схеме выше методов.
видео-рассказ, уроки godot, виртуальный помощник по поиску информации
играть
читать
купить
скачать
игры Многоликий: dress - hordes эпизоды с 1 по 4
играть
скачать
купить
купить
игры, музыкальные клипы
скачать
скачать
смотреть
скачать/играть
музыкальный клип, игры
смотреть
играть
скачать
скачать
разработка игр, анимационный фильм, новогодняя дискотека 2020 - песни на итальянском, игра про лифт
смотреть
смотреть
смотреть
смотреть
игры, инструменты разработки, анимационный фильм, фильм.
купить
смотреть
смотреть
скачать
игры
скачать
скачать
скачать
купить
игры в браузере
играть
играть
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере (3), создание музыки в браузере (1)
играть
играть
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере
играть
играть
бк 0010.01 - играть!
играть
игры в браузере
играть
играть
играть
играть
игры в браузере (3), скачиваемые (1)
играть
играть
играть
скачать
игры в браузере
играть
играть
играть
играть
игры в браузере, скачиваемые игры
играть
скачать
играть
играть
игры в браузере
играть
играть
играть
играть
игры в браузере
Foxyland 2
quidget 2
играть
играть
полезный софт, игры в браузере
скачать
anova игра
A Knots Story
sabotage
сервисы, игры
24500 руб.
скачать
игра
играть
игры, программы
купить / скачать
купить
5500 руб.
скачать
поздравления, уроки рисования, уроки создания сайтов
читать
читать
читать
150 руб.
комиксы, музыка, рассказы
читать
читать
слушать
читать
игра для разработки, калькулятор услуг, cms, комикс
250 руб.
разработка на заказ
1250 руб.
350 руб.
игры для разработки, комиксы
скачать
читать
читать
скачать
игры шарики и ямки, комиксы про Костю Коробкина, ria xxl игра, fly snow 3d генератор эффектов снега, частиц и др. -
скачать
читать
150 руб.
350 руб.
Создай свою игру на fle game engine -
800 руб.
240 руб./скачать
скачать
скачать
Для создания сайта - модуль отзывов/комментариев для вашего сайта в составе megainformatic cms express files -
700 руб.
1250 руб.
150 руб.
500 руб.
Уроки Flash, бесплатные Flash - игры.
бесплатно
бесплатно
2500 руб.
14000 руб.
Поддержка сайтом нескольких языков (multi lang), создание собственной системы личных кабинетов, соц. сети или фриланс - биржи (megainformatic cms social), создание сервиса коллективных покупок на базе megainformatic cms groupon, онлайн сервис подсчёта статистики ключевых слов в статьях вашего сайта keywords gen + описание кода данного сервиса, с возможностью бесплатно реализовать его аналог на своём собственном сайте.
500 руб.
12000 руб.
14000 руб.
бесплатно
megainformatic.ru/webjob/ - сервис для фриланс проектов
- место встречи заказчиков и исполнителей
megainformatic.ru/webjob/ - сервис для фриланс проектов
- место встречи заказчиков и исполнителей
Системы управления сайтом, уроки
1250 руб.
бесплатно
550 руб.
500 руб.
megainformatic cms admin - простая и компактная система
для работы и управления сайтом
350 руб.
5800 руб.
3000 руб.
500 руб.
megainformatic cms free и серия продуктов - Уроки Photoshop
бесплатно
650 руб.
700 руб.
750 руб.
Данная серия посвящена описанию приемов и методов создания изображений,
с помощью инструментария программы Adobe Photoshop. Кроме того, многие
описанные средства могут вам помочь при освоении и многих других программ
для работы с растровой графикой - GIMP, Corel Photo Paint и других.
бесплатные игры 2d и 3d, а также эмулятор Ну, Погоди!
300 руб.
бесплатно
бесплатно
бесплатно
Это серия распространяемых бесплатно игр. Вы не только можете поиграть,
но и скачать исходники, получив тем самым возможность внести изменения
в игру или создать новую !!! (эмулятор Ну, Погоди! распространяется платно).
серия игр про Веселого Буквоежку, и бесплатно распространяемая игра
Нечто: Необъяснимое - в плену желаний
350 руб.
510 руб.
fle game engine
бесплатно
Здесь представлены новинки жанра - Говорящий Комикс, Настольная игра,
А также продукт, который позволит Вам научиться создавать игры самостоятельно.
Ну и конечно изюминка в своём роде - бесплатная игра - Нечто: Необъяснимое
- в плену желаний
Серия бесплатных онлайн уроков, посвященных 3ds max, photoshop, c++,
directx, delphi и php.
бесплатно
бесплатно
бесплатно
бесплатно
бесплатно
бесплатно
500 руб.
300 руб.
Описаны практические примеры решения различных задач, возникающих при
создании игр и сайтов.
Продукты Набор разработчика и Ваше Визуальное Шоу распространяются платно.
уроки и продукты различной тематики
бесплатно
бесплатно
бесплатно
400 руб.
Бесплатные Уроки Photoshop free, Бесплатные Уроки по программированию
на delphi directx - Как создать игру Ну, Погоди!, Бесплатная Авторская
музыка в формате mp3 - Музыкальные Миры, Платно распространяемый продукт
megainformatic cms express - система для быстрого создания Вашего сайта
на php + my sql.
Проекты игр, уроки
450 руб.
бесплатно
бесплатно
бесплатно
Игра Веселый Буквоежка, уроки delphi directx 8.1 для начинающих (описываются
основы 3d игр), моделируем девушку в 3d studio max, уроки музыки - пишем
музыку в Fruity Loops Studio
megainformatic
cms express files - это простое, быстрое и очень компактное решение
для создания первого вашего сайта. НЕ ИСПОЛЬЗУЕТ базы данных mysql.
Вместо этого используются файловые базы данных. Поэтому Вы
можете использовать систему даже на хостинге с поддержкой php, но
без поддержки баз данных my sql.
Очень
проста в установке - достаточно вам скопировать все файлы на ваш
хостинг и сайт готов к работе !!!
В комплект входят 3 готовых шаблона, модули поиска и карты сайта,
а также статьи по основам создания сайта.