Sources
Delphi Russian Knowledge Base
DRKB - база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Изучаем DelphiX

29.06.2006
Влад Энгельгардт (hex), hexware@gmail.com

29 июня 2006 (Обновление: 28 фев 2009)

«Теория, теория ну а практика,
а практика потом» —
Так подумал автор, начиная
писать эту статью.

Часть 0: «Теория».

Здравствуйте дорогие мои! Сегодня мы будем учиться работать в 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; - Альтернатива, только при уничтожении объекта.

После написания класса каждая процедура расписывается, и всё, можно писать сам код. (Но это мы будем делать позже.)

Previous page:
Обработка событий клавиш в DelphiX
Top:
DRKB
Next page:
Изучаем DelphiX