Изучаем DelphiX - Часть 0 - Теория
Оформил: XVeL
Автор: Влад Энгельгардт
WEB-сайт: http://gamedev.ru
"Теория, теория ну а практика, а практика
потом" Так подумал автор, начиная писать эту статью.
Здравствуйте дорогие мои! Сегодня мы будем учиться работать в
DelphiX.
В этой части вы узнаете:
1. Обзор DelphiX (Что? К чему?). 2. Принцип написания кода
и основные процедуры для классов.
Ну что же, приступим:
1. Обзор DelphiX.
DelphiX - это набор компонентов, способный облегчить
использование DirectX в Delphi приложениях и использовать всю мощь
DirectX.
Основные компоненты DelphiX:
TDXDraw -( Это такой мониторчик) Дает доступ к
поверхностям DirectDraw (проще говоря, эта вещь которая отображает
всё) Проще говоря, сам DirectDraw.
TDXDib - Позволяет хранить DIB (Device Independent
Bitmap)
TDXImageList - Позволяет хранить серии DIB, Jpg,
bmp-файлов, что очень удобно для программ, содержащих спрайты.
Позволяет загружать DIB`ы с диска во время выполнения программы.
TDXSound - Проигрыватель звуков в формате Wav.
TDXWave - "Контейнер" для wav-файла.
TDXWaveList - Позволяет хранить серии для wav-файлов.
TDXInput - Позволяет использовать DirectInput, т.е.
получить доступ к устройствам ввода информации (мышь, клавиатура,
джойстик:).
TDXPlay - Компонент позволяющий обмениваться информацией
на компьютерах.
TDXSpriteEngine - Спрайтовый движок.
TDXTimer - Более точный, чем TTimer.
TDXPaintBox - Альтернатива TImage, только DIB-версия.
В DelphiX есть самостоятельные компоненты, а есть
вспомогательные, вот, например, DXSpriteEngine не может без DXDraw
(где он будет отображать всё действия происходящие на сцене). Вот
таблица зависимых и вспомогательных:
2. Принцип написания кода и основные процедуры для
классов.
Весь принцип очень прост и удобен, сейчас объясню: весь код
строится по классам, в каждом классе свои процедуры, каждый новый
тип юнита это новый класс и в каждом классе свои процедуры.
Рассмотрим на живом примере: возьмём камень и бумагу. Бумага мнётся,
камень нет. Так и здесь, в одном классе это свойство есть, в другом
нет, рассмотрим кусок кода отвечающий за класс:
TPlayerFa = class(TImageSprite)
protected
procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
procedure DoMove(MoveCount: Integer); override;
public
constructor Create(AParent: TSprite); override;
destructor Destroy; override;
end;
Здесь нам виден класс TplayerFa, его процедуры:
procedure DoCollision(Sprite: TSprite; var Done: Boolean); override; -
Это процедура столкновения, что будет происходить при столкновении
procedure DoMove(MoveCount: Integer); override;
- Это
процедура движения, в ней указывается, как класс будет двигаться.
( в следующих частях я опишу и расскажу про все функции и их
использование на практике)
constructor Create(AParent: TSprite); override; - Это
конструктор Create очень полезная вещь он отвечает за происходящим
во время создания объекта.
destructor Destroy; override; -Альтернатива, только при
уничтожении объекта.
После написания класса каждая процедура расписывается, и всё,
можно писать сам код. (Но это мы будем делать позже.)
Автор: Влад
Энгельгардт
|