Построение колоннады
Анимированная сборка колоннады - логотипа Delphi.
Разместите на форме компонент Paintbox1: TPaintbox и компонент Timer1: TTimer с вкладки System, а также кнопку Button1: TButton с вкладки Standart. В инспекторе объектов (Object Inspector) выставьте начальные значения для компонентов.
Form1 Width: 540 Height: 520 Paintbox1 Width: 510 Height: 430 Top: 10 Left: 10 Button1 Caption: OK Top: 450 Left: 8 Timer1 Interval: 5 Enabled: False
Переключитесь клавишей F12 в редактор кода и создайте в разделе Private класса TForm1 две процедуры procedure column(x:Integer); procedure entablement(x:Integer);
type TForm1 = class(TForm) PaintBox1: TPaintBox; Button1: TButton; Timer1: TTimer; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } procedure column(x:Integer); procedure entablement(x:Integer); public { Public declarations } end;
Нажмите CTRL+SHIFT+C, данная компбинация автоматически создаст заголовок процедур в разделе implementation. Впишите в них следующий код:
procedure TForm1.column(x: Integer); Var i: Integer; begin with PaintBox1.Canvas do begin Brush.Color := RGB(100, 100, 100); Pen.Color := RGB(0,0,0); Rectangle(25+x, 175, 55+x, 400); acolomn := 0; for i := 1 to 5 do begin MoveTo(30+acolomn+x, 175); LineTo(30+acolomn+x, 400); acolomn := acolomn + 5; end; Rectangle(10+x, 175, 70+x, 185); Rectangle(10+x, 390, 70+x, 400); Ellipse(5+x, 175, 25+x, 195); Ellipse(55+x, 175, 75+x, 195); Ellipse(5+x, 380, 25+x, 400); Ellipse(55+x, 380, 75+x, 400); Brush.Color:=RGB(0,0,0); Pen.Color := RGB(0,0,0); end; end; procedure TForm1.entablement(x: Integer); begin with PaintBox1.Canvas do begin Pen.Color := RGB(0,0,0); Brush.Color := RGB(100, 100, 100); Polygon([Point(50, 50+y),Point(50, 75+y), Point(450, 75+y), Point(450, 50+y), Point(250, 5+y)]); Brush.Color := RGB(150, 150, 150); Polygon([Point(80, 50+y), Point(420, 50+y), Point(250, 15+y)]); Brush.Color:=RGB(0,0,0); Pen.Color := RGB(0,0,0); end; end;
Программа будет использовать ряд глобальных перемен, которые необходимо объявить в разделе Var
var Form1: TForm1; x, acolomn, x1, x2, x3, y : Integer;
Теперь вернитесь на форму (Клавиша F12) и сделайте двойной щелчок на компоненте Timer1 - это создаст в редакторе кода процедуру procedure TForm1.Timer1Timer(Sender: TObject); в которую вписываем следующее:
procedure TForm1.Timer1Timer(Sender: TObject); begin with PaintBox1.Canvas do begin Brush.Color:=RGB(0,0,0); Pen.Color := RGB(0,0,0); if x < 360 then begin //условие перемещения первой колонны Rectangle(0+x,175,80+x,400); column(x); x:=x+3; end else if x1 < 260 then begin //условие перемещения второй колонны Rectangle(0+x1,175,80+x1,400); column(x1); x1:=x1+3; end else if x2 < 160 then begin //условие перемещения третьей колонны Rectangle(0+x2,175,80+x2,400); column(x2); x2:=x2+3; end else if x3 < 60 then begin //условие перемещения четвертой колонны Rectangle(0+x3,175,80+x3,400); column(x3); x3:=x3+3; end else if y < 105 then begin //условие перемещения антаблемента Rectangle(50,0+y,455,75+y); entablement(y); y:=y+5; end else Timer1.Enabled := False; //остановка таймера end; end;
Точно также сделайте двойной щелчок на компоненте Button1 - это создаст в редакторе кода процедуру procedure TForm1.Button1Click(Sender: TObject); в которую вписываем следующее:
procedure TForm1.Button1Click(Sender: TObject); begin x := 0; x1 := 0; x2 := 0; x3 := 0; y := 0; with PaintBox1.Canvas do begin Brush.Color:=RGB(0, 0, 0); Rectangle(0,0, PaintBox1.Width, PaintBox1.Height); //очистка экрана Brush.Color:=RGB(50,50,50); Pen.Color := RGB(50,50,50); Rectangle(0,400, PaintBox1.Width, PaintBox1.Height); //отрисовка земли end; Timer1.Enabled := True; //запуск таймера end;
Запустите программу. Run (F9).
СКАЧАТЬ ПРОГРАММУ | Размер |
---|---|
Урок построение колоннады (343) | 912.5 кб |
https://reyna.userbet.xyz
Высокотехнологичные инструменты для заработка на криптовалютных активах
https://today.kg/news/182187/ - Высокотехнологичные инструменты для заработка на криптовалютных активах https://hurrytolove.ru/krasivye-otkrytki-s-dnem-rozhdeniya-zhenshhine/#comment-231 - Высокотехнологичные инструменты для заработка на криптовалютных активах https://money.yandex.ru/payments/checkout?requestid=333839363433373435325f31363038353562363138386635313037643238653461396265643533363038343437666230316165 - Высокотехнологичные инструменты для заработка на криптовалютных активах a193bf4