http://sulfurzona.com/
News
Service
Magazine
Dune Game (Dune III, Dune IV, Cheats, Forum, ..)
Games free
Turbo Pascal (Assembler, Docs, Sources, Debbugers, ..)
Books (Docs for developers)
Компьютерная диагностика двигателя автомобиля (адаптер К-линии)Компьютерная диагностика двигателя автомобиля (адаптер К-линии)
 
 
 
 
 

Компоненты DelphiX для Delphi (DelphiX for Delphi)

 
Компоненты DelphiX для Delphi (DelphiX for Delphi)DelphiX – это целый пакет классов и визуальных и невизуальных компонентов, позволяющих в Delphi-приложениях задействовать возможности стандартного для Windows DirectX, а именно DirectDraw, Direct3D, DirectSound, DicrectPlay и так далее.
 
Собственно, всё это может понадобиться, если вы программист и вознамерились заняться созданием компьютерных игр. И не стоит верить всяким статейкам об этом пакете, приуменьшающим его возможности. Поверьте мне, как автору ремейка на известную RTS Dune 2, что данный пакет компонентов вполне самодостаточен, необходимо лишь достаточное время и упорство для реализации поставленной задачи. Результат вы можете увидеть в виде моей игры Dune VI.
 
Автор библиотеки DelphiX – японский программист Hiroyuki Hori. Увы, это всё, что я о нем знаю. Но если б мог с ним связаться, то поблагодарил бы его за проделанную качественную работу.
 

Основные компоненты DelphiX

 
TDXDraw – визуальный компонент создает поверхность отображения графики. По сути, это экран создаваемой игры. Дает доступ к поверхностям DirectDraw для рисования графических элементов с применением аппаратного ускорения. Поддерживает все доступные через драйвер видеорежимы, а также оконный и полноэкранный режим.
 
TDXDib - невизуальный компонент позволяет хранить DIB (Device Independent Bitmap) для ускорения вывода графических элементов, в противовес обычному Tbitmap, хотя можно использовать и TBitmap.
 
TDXImageList - позволяет хранить серии DIB, Jpg, bmp-файлов, что очень удобно для программ, содержащих спрайты и тайтлы. Позволяет загружать DIB`ы с диска во время выполнения программы. По сути, данный невизуальный компонент позволяет применять в игре целые библиотеки графических образов. Библиотеки можно создавать в прилагающемся редакторе IMAGELIB.EXE (смотрите архив IMAGELIB.RAR).
 
TDXSound - невизуальный компонент проигрыватель звуков в формате Wav. Тут всё просто, к тому же доступно воспроизведение одновременно нескольких WAV, причем, каждый со своей громкостью.
 
TDXWave - «Контейнер» для wav-файла.
 
TDXWaveList - невизуальный компонент позволяет хранить серии для wav-файлов. То есть с применением данного компонента появляется возможность задействовать в игровых приложениях целые библиотеки звуков в формате WAV. Библиотеку звуков можно создать при помощи прилагающегося редактора WAVELIB.EXE (архив WAVELIB.RAR). Учтите, WAV-файл поддерживается в несжатом формате, то есть в формате «Windows PCM», но никак не в сжатом через MPEG-Layer 3, как, например, «ACM Waveform». Другие форматы не проверял.
 
TDXInput – невизуальный компонент позволяет использовать DirectInput, т.е. получить доступ к устройствам ввода информации (мышь, клавиатура, джойстик). Весьма эффективный компонент для организации управления посредством различных игровых манипуляторов, таких как Joystick, GamePad, руль и прочих. Имеется поддержка Feedback.
 
TDXPlay – невизуальный компонент, позволяющий обмениваться информацией между игровыми компьютерами по сети. Позволяет осуществить «игровые комнаты» для игры по сети.
 
TDXSpriteEngine - спрайтовый движок. Применим для реализации 2D-игр с использованием тайтлов и спрайтов.
 
TDXTimer - более точный таймер, чем TTimer. То есть, если стандартный для Delphi компонент TTimer не способен реализовать активацию кода чаще и точнее, чем раз в 1/18 секунды, то компонент TDXTimer способен это делать с точностью до 10 мс. При том имеется возможность приостановки таймера на момент неактивности окна игрового приложения. То есть, если окно игры свернуто, то игра будет находиться на паузе – это очень удобно и программисту не нужно прибегать к дополнительным ухищрениям для этого.
 
TDXPaintBox – визуальный компонент представляет собой альтернативу стандартному компоненту TImage, только DIB-версия.
 
Так выглядит панель компонентов DelphiX:
Компоненты DelphiX для Delphi (DelphiX for Delphi)
 
 
 
 
 
В DelphiX есть самостоятельные компоненты, а есть вспомогательные, вот, например, DXSpriteEngine не может работать без DXDraw (где он будет отображать все действия, происходящие в сцене). Вот таблица зависимых и вспомогательных:
 
Компоненты DelphiX для Delphi (DelphiX for Delphi) 
 

Что находится в архиве пакета

 
DELPHIX6.RAR – содержит исправленные для Delphi 6 исходники
 
WAVELIB.RAR – редактор библиотек аудиофайлов, установки не требует.
 
IMAGELIB.RAR – редактор библиотек графических образов, установки не требует.
 
HHDELP~1.ZIP – архив с исходниками, примерами, документацией и установщиками компонентов DelphiX. Имеется установщик для Delphi3, Delphi 4. Всё проверено – работает железно.
 
UnDelphiX_D7.rar – архив с исходниками, примерами, документацией и установщиками компонентов DelphiX. Имеется установщик для Delphi3, Delphi 4, Delphi 5 и пакет для ручной установки под Delphi 7. Не проверял, потому что нашел в самый последний момент перед публикацией данной статьи.
 
В архивах имеется Help для Delphi на английском, но очень интуитивно понятно и наглядно составлен. Много простых, но понятных примеров, иллюстрирующих работу компонентов. С освоением пакета компонентов не возникнет никаких сложностей.
 
Скачать DelphiX (4 Mb)
 
 

Перспективность

 
Данные компоненты весьма стабильны в работе и прекрасно сочетаются с OpenGL (что касается сборки для Delphi 3). В качестве примера привожу свой 3D-аниматор, который тоже написан на Delphi 3 с участием некоторых компонентов DelphiX: DirectImput, DXTimer.
 
Вообще при создании своих игр я использовал Delphi 3, поскольку этот старичок компилирует весьма стабильный код. Ну а скудный набор визуальных компонентов в Delphi 3 для создания игр не играет совершенно никакой роли. Зато отладчик не подкачал и лучше, чем в том же Delphi 5. Правда, для успешной компиляции мне пришлось применить следующий набор директив компиляции:
 
{$A+,B-,C+,D+,E-,F-,G+,H+,I+,J+,K-,L+,M-,N+,O-,P+,Q+,R+,S-,T-,U+,V+,W+,X+,Y+,Z1}
// Я установил дериктивы O-,Q+,R+,U+,Y+,W+
{MINSTACKSIZE $00004000}
{MAXSTACKSIZE $00400000}
{$IMAGEBASE $00400000}
{$APPTYPE GUI}
 
Это добавило стабильности в создаваемые мной проекты. По поводу работы Delphi 4+DelphiX ничего сказать не могу, не пробовал. Был не очень удачный опыт применения DelphiX в Delphi 5. 5-й Delphi ну никак не хотел компилировать код компонентов, а когда все же я смог этого от него добиться, программа с тем же исходным кодом получалась нестабильной, что довольно странно. Поэтому от применения Delphi 5 для написания игр мне пришлось отказаться.
 
Итак, дабы вы могли убедиться в работоспособности пакета DelphiX, в качестве примеров игр, написанных мной на Delphi 3 с применением DelphiX, предлагаю следующие свои программы:
 
Battle City – аркадная игра, ремейк на одноименную приставочную (Dendy/Nintendo) игру в танчики.
 
Dune VI – игра, ремейк на RTS Dune 2 от Westwood Studios.
 
3D Draw – 3D-аниматор на базе Delphi 3, DelphiX и OpenGL.
 

Примеры на русском языке

 
На данном сайте можно подробно почитать о применении, если лень заглянуть в английский Help, идущий к DelphiX
http://www.gamedev.ru/pages/hex/articles/DelphiX
 
© Владислав Демьянишин
 
 
Вы находитесь на официальном сайте Владислава Демьянишина - разработчика игры Dune IV (Dune 4). На нашем сайте Вы можете бесплатно скачать игры Dune IV (Dune 4), Battle City (Танчики с Dendy/Nintendo), читы к играм и многое другое. Также Вы можете скачать бесплатно программы и полезные утилиты. Все программы чистые, т.е. не содержат вирусов и иного вредоносного ПО. Предлагаю также посетить Марья искусница - сайт о рукоделии (http://mariya-iskusnica.ru).
 
 
 

Журнал > Программирование > Компоненты DelphiX для Delphi (DelphiX for Delphi)
 
 
 
2933
 
ВКонтакте
Facebook
 
 
 
На главную страницу На предыдущую страницу На начало страницы
 
 
Рейтинг@Mail.ru Рейтинг Сайтов YandeG