ВУЗ:
Составители:
Рубрика:
21
procedure TEllipseSprite.SetColor(const aColor: Graphics.TColor);
var VisState:Boolean;
begin
if FColor<>aColor then
begin
VisState:=FVisible;
Visible:=false;
FColor:=aColor;
if VisState then Visible:=true
end
end {SetColor};
procedure TEllipseSprite.PaintPicture;
begin
with FSpriteList.FCanvas do
begin
Brush.Style:=bsSolid;
Brush.Color:=Color;
Pen.Color:=color;
Ellipse(SpriteRect);
end;
end {PaintPicture};
end {uSprite}.
Следует отметить, что в Delphi в разделе реализации можно указывать лишь
имена методов, не повторяя список параметров и тип функции. Например,
вместо строки кода
function TTracedSprite.Move(const drift: Types.TSize): Boolean;
можно было бы записать ее краткий вариант
function TTracedSprite.Move;
Здесь мы этим не пользовались, чтобы не затруднять чтение кода.
Предлагается составить оконное приложение, тестирующее представленные
классы спрайтов. Для этого следует разместить на форме объект типа TPaintBox
с произвольным фоном (в виде рисунка). Создать на нем произвольный список
эллиптических спрайтов, имеющих разные атрибуты (цвет, размер) и
перемещающихся в границах прямоугольника с произвольными
скоростями,
зеркально отражаясь от границ и оставляя след.
C++
Теперь рассмотрим версию тех же классов спрайтов, написанную на языке C++
в среде C++ Builder (6-ая версия) фирмы Borland.
Структура программного модуля в C++ несколько отличается от структуры
модуля, написанного на Object Pascal в Delphi. В некотором смысле
Страницы
- « первая
- ‹ предыдущая
- …
- 19
- 20
- 21
- 22
- 23
- …
- следующая ›
- последняя »