Энциклопедия C++ Builder


ГРАФИЧЕСКИЕ КОМПОНЕНТЫ - часть 11


с буферизацией графики. Более полная иллюзия движения фигур на экране достигается за счет автоматической прокрутки изображения фона. Большая часть времени ушла на подготовку изображений битовых образов фона и различных движущихся фигур (самолетов и вертолетов). Я использовал для этой цели систему Corel

Draw!, хотя любой другой имеющийся в вашем распоряжении редактор изображений справился бы с рисованием простейших картинок.

7.5.1 Проектирование формы

Начнем проектирование приложения, перетаскивая из Палитры на форму следующие компоненты:

=> Три невидимых и пустых контейнера TImage из вкладки Additional и один видимый и пустой контейнер TPaintBox из вкладки System. Объекты DrawBox класса TImage и PaintBox класса TPaintBox совместно реализуют двойную буферизацию графики: сначала фигуры и фон рисуются на канве внеэкранного битового образа, в объекте DrawBox, а затем изображение канвы копируется на экран, в объект PaintBox.

=> Панель инструментов TPanel из вкладки Standard.

=^> Таймер TTimer из вкладки System.

=> Компоненту редактирования TSpinEdit с кнопками "а" и "-у" из вкладки Samples для управления скоростью анимации.

=> Три быстрые кнопки TSpeedButton из вкладки Additional для управления работой программы.

=^ Компоненту TOpenDialog из вкладки Dialogs диалога открытия файлов.

Рис. 7.2 показывает форму приложения, фоном которой служит изображение облачного неба из файла Clouds.bmp,

а в качестве движущихся фигур выступают два самолета из файла Planes, bmp

или два вертолета из файла Helicopters.bmp. Редактор изображений открыт двойным щелчком мышью в графе значений свойства Picture компонентного объекта Figures.

Обратите внимание, что изображение каждой фигуры представлено тремя битовыми образами - первые два отображают возможные фазы анимации фигуры, а третий представляет собой бинарную маску внешнего контура. Обе фигуры различаются только цветом и имеют одинаковую форму, поэтому разделяют общую пару масок. Такая совокупность составляет банк данных спрайта.




Начало  Назад  Вперед



Книжный магазин