Часть 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; — Альтернатива, только при уничтожении объекта. После написания класса каждая процедура расписывается, и всё, можно писать сам код. (Но это мы будем делать позже.)
Источник: http://www.gamedev.ru/users/hex/articles/DelphiX |