fle game engine - движок для создания игр
fle game engine - движок для создания игр


Вакансии
Игродельня
Сегодня
28 мая 2017
21:25
Вход Регистрация Забыли пароль ?

megainformatic - Основы создания 3d игр - проект Тайны Морских Глубин
        [статьи] [как создать игру ну, погоди!]        
подробнее...

Теги

создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт

Статьи сайта

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

webinformatic: Музыкальная страничка трэкера

megainformatic - Создание музыки и звука

webinformatic: Создание музыки и звука: урок 2

megainformatic - Создание музыки и звука: урок 3 - настройка Impulse Tracker для работы в WinXP

megainformatic - Создание музыки и звука: урок 4 - Введение в Mod Plug Tracker

megainformatic - Создание музыки и звука: урок 5 - Первая композиция в Mod Plug Tracker

megainformatic - Создание музыки в Impulse Tracker 2.14 - урок 6 - Ввод Нот

megainformatic - Создание музыки в Impulse Tracker 2.14 Первая мелодия

megainformatic - Создание музыки в Impulse Tracker 2.14 Настройка параметров сэмплов

megainformatic - Создание музыки и звука: теория и практика создания трэкерской музыки

megainformatic - Инструкция по оплате услуг средствами WebMoney

Основы работы в Microsoft Visual Studio 2008 и DirectX 9 (DX SDK Aug 2008)

Введение в программирование игр на С++ для платформы DirectX 9 - Первый старт

Введение в программирование игр на С++ для платформы DirectX 9 - Меняем иконку приложения

Введение в программирование игр на С++ для платформы DirectX 9 Добавляем другую модель

Введение в программирование игр на С++ для платформы DirectX 9 Программирование игр в directx. Hello, World!

Введение в программирование игр на С++ для платформы DirectX 9 Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++ (часть 2)

Урок 2 Написание Win32-приложений. Обзор стартового кода Win32-приложения. Добавление ресурса текстовая строка

Урок 3 Создание Win32-приложений. Создание меню и простых диалоговых окон.

Урок 4 Создание Win32-приложений. Стандартные диалоги. Изучение сопутствующих конструкций языка. Консольные Win32-приложения. Указатели. Ссылочный тип. Массивы.

Урок 4 часть 2 Win32. Диалог выбора цвета, смена цвета фона окна приложения

Написание приложения DirectX9c + MFC в среде MSVS 2005

megainformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7

megainformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7 - Почему избраны DX8 и Delphi ?

megainformatic - Основы IDirectMusic8 в среде Delphi6-7

megainformatic - Основы DirectInput8 в среде Delphi 7

megainformatic - Основы DirectSound8 в среде Delphi6-7

megainformatic - Плагин для 3DS MAX из DX9 SDK

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 2

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 3

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 4

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 5

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 6

Система управления сайтом - megainformatic cms e-shop

Система управления сайтом - megainformatic cms e-shop

Система управления сайтом - megainformatic cms e-shop

megainformatic - Уроки 3ds max - Введение в 3ds max

megainformatic - ГАЛЕРЕЯ 3D-моделей

megainformatic - СОЗДАНИЕ МАКЕТА ПОМЕЩЕНИЯ

megainformatic - Создание макета помещения - этап 2

megainformatic - МОДЕЛИРОВАНИЕ НА УРОВНЕ МНОГОУГОЛЬНИКОВ

megainformatic - СОЗДАНИЕ ПРЕДМЕТОВ ОБСТАНОВКИ ПОМЕЩЕНИЯ

megainformatic - Моделирование обстановки помещения

megainformatic - Создание модели автомобиля

megainformatic - Создание текстурной развертки для модели автомобиля

megainformatic - Создание анимации вращающихся колес автомобиля

megainformatic - игра Нечто: Необъяснимое и в плену желаний

megainformatic - Основы 3D-анимации, экспорт скелетной анимации

megainformatic - Подготовка модели к использованию скелетной анимации

megainformatic - Продолжаем Создание скелета для данной модели

megainformatic - Построение ирерархических связей между объектами и основы 3d анимирования

     
  [содержание] [далее]  
     
 
Урок 1 Введение в Delphi DirectX 8.1. Создание шаблона стартового приложения.
 
О том, что потребуется для данного урока читайте в основном разделе - уроки delphi directx 8.1
 
Далее у читателя подразумевается наличие базовых знаний языка Delphi.
 

Введение

Библиотека Delphi DirectX 8.1 предсталяет собой набор исходных файлов, которые позволят Вам писать приложения для платформы Windows DirectX на Delphi.

О том, что представляет из себя библиотека Delphi DirectX 8.1 более подробно.

Любое приложение начинается со стартовой заготовки - шаблона.

Создание 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;

g_d3dApp.m_hWnd := m_hwndRenderWindow;
g_d3dApp.Create_(HInstance);

//g_d3dApp.LoadSettings;
end;

 
 
Вас не должно пугать количество ошибок, которые были выделены в коде. Все эти идентификаторы и методы мы будем постепенно добавлять далее
 

Несколько слов о сути работы нашего будущего приложения

Оно будет работать следующим образом:

В момент показа окна формы (событие 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]
 

Теперь Вам должен быть ясен основной функционал нашего будущего приложения.

Весь остальной код, реализующий загрузку необходимых ресурсов (моделей, текстур, текста, музыки, звуков и т.д.), игровую логику, какие-либо сервисы и прочее вызывается из показанных на схеме выше методов.

 
[далее]
 
     
     
     
     
     
     
     
     
 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


визиты
сегодня: 1741
всего: 16433
посетители
сегодня: 287
всего: 20919
Время загрузки: 0,1831