Высота графического объекта
propertydx: integer;
x-координата вектора перемещения объекта при вызове метода Move. По умолчанию установлено в 0. Для неподвижных объектов может быть использовано для хранения любой дополнительной информации, связанной с объектом
|
propertydy: integer;
y-координата вектора перемещения объекта при вызове метода Move. По умолчанию установлено в 0. Для неподвижных объектов может быть использовано для хранения любой дополнительной информации, связанной с объектом
|
propertyCenter: Point;
Центр графического объекта
|
propertyPosition: Point;
Левый верхний угол графического объекта
|
propertyVisible: boolean;
Видим ли графический объект
|
propertyColor: GColor;
Цвет графического объекта
|
propertyFontColor: GColor;
Цвет шрифта графического объекта
|
propertyText: string;
Текст внутри графического объекта
|
propertyTextVisible: boolean;
Видимость текста внутри графического объекта
|
propertyTextScale: real;
Масштаб текста относительно размеров графического объекта, 0<=TextScale<=1. При TextScale=1 текст занимает всю ширину или высоту объекта. По умолчанию TextScale=0.8
|
propertyFontName: string;
Имя шрифта для вывода свойства Text
|
propertyFontStyle: FontStyleType;
Стиль шрифта для вывода свойства Text
|
propertyNumber: integer;
Целое число, выводимое в центре графического объекта. Для вывода используется свойство Text
|
propertyRealNumber: real;
Вещественное число, выводимое в центре графического объекта. Для вывода используется свойство Text. Вещественное число выводится с одним знаком после десятичной точки
|
propertyOwner: ContainerABC;
Владелец графического объекта, ответственный также за перерисовку графического объекта внутри себя (по умолчанию nil)
|
Методы, унаследованные от класса ObjectABC
procedureMoveTo(x,y: integer);
Перемещает левый верхний угол графического объекта к точке (x, y)
|
procedureMoveOn(a,b: integer);
Перемещает графический объект на вектор (a, b)
|
procedureMove; override;
Перемещает графический объект на вектор, задаваемый свойствами dx, dy
|
procedureScale(f: real); override;
Масштабирует графический объект в f раз (f>1 - увеличение, 0
|
procedureToFront;
Переносит графический объект на передний план
|
procedureToBack;
Переносит графический объект на задний план
|
functionBounds: System.Drawing.Rectangle;
Возвращает прямоугольник, определяющий границы графического объекта
|
functionPtInside(x,y: integer): boolean; override;
Возвращает True, если точка (x, y) находится внутри графического объекта, и False в противном случае
|
functionIntersect(g: ObjectABC): boolean;
Возвращает True, если изображение данного графического объекта пересекается с изображением графического объекта g, и False в противном случае. Белый цвет считается прозрачным и не принадлежащим объекту
|
functionIntersectRect(r: System.Drawing.Rectangle): boolean;
Возвращает True, если прямоугольник графического объекта пересекается прямоугольником r, и False в противном случае
|
functionClone0: ObjectABC; override;
Возвращает клон графического объекта
|
procedureDraw(x,y: integer; g: Graphics); override;
Защищенная. Не вызывается явно. Переопределяется для каждого графического класса. Рисует объект на объекте g: Graphics
|
destructorDestroy;
Уничтожает графический объект
|
Мультирисунок представляет собой объект класса MultiPictureABC и содержит несколько картинок одинакового размера (кадры мультирисунка), одна из которых отображается на экране.
Мультирисунки удобно использовать для графических объектов, имеющих несколько состояний. Например, для игрового объекта в мультирисунке хранятся все его повороты: вверх, вниз, вправо, влево. Мультирисунки удобно использовать также для создания спрайтов - анимационных рисунков с автоматически меняющимися кадрами. Однако, для спрайтов предназначен специальный класс SpriteABC, расположенный в модуле ABCSprites.
Рассмотрим создание мультирисунка из четырех рисунков, каждый из которых находится в отдельном файле:
usesABCObjects,GraphABC;
varp: MultiPictureABC;
begin
p := newMultiPictureABC(50,50,'multi1.bmp');
Читать дальше