Язык программирования:
Pascal
Среда программирования:
Lazarus
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, ComCtrls; type { TForm1 } TForm1 = class(TForm) Button1: TButton; PaintBox1: TPaintBox; Timer1: TTimer; procedure Button1Click(Sender: TObject); procedure Resizing(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { private declarations } public { public declarations } // процедура прорисовки облака procedure Cloud (x, y: Integer; ColorCloud: TColor); end; var Form1: TForm1; i: double; x0, y0, x1, y1, x2, y2, x3, y3, x4, y4 : integer; center1, center2 : integer; radius, diameter: integer; implementation {$R *.lfm} { TForm1 } procedure TForm1.Resizing(Sender: TObject); begin center1:= round(Form1.Width/2); center2:= round(Form1.Height/2); Button1.Top:=Form1.Height-34; PaintBox1.Width:=Form1.Width - 10; PaintBox1.Height:=Form1.Height - 54; end; procedure TForm1.Timer1Timer(Sender: TObject); begin i:=i+pi/36; // Изменение координат прорисовки x1:=round(center1-radius*sin(i)); y1:=round(center2+radius*cos(i)); x2:=round(center1+radius*sin(i+pi/3)); y2:=round(center2-radius*cos(i+pi/3)); x3:=round(center1-radius*sin(i+2*pi/3)); y3:=round(center2+radius*cos(i+2*pi/3)); // Прорисовка объекта в новом месте Cloud(x1,y1,clRed); //Красный круг Cloud(x2,y2,clGreen);//Зеленый круг Cloud(x3,y3,clYellow);//Желтый круг end; procedure TForm1.Cloud(x, y: Integer; ColorCloud: TColor); begin // прорисовка облака из двух эллипсов with PaintBox1.Canvas do begin Pen.Style := psClear; Brush.Color := ColorCloud; Ellipse(x-diameter,y-diameter,x+diameter,y+diameter); end; end; procedure TForm1.Button1Click(Sender: TObject); begin i:=0; radius:= 90; diameter := 50; // прорисовка картинки по которой двигается объект PaintBox1.Canvas.Brush.Color := clBlue; PaintBox1.Canvas.Ellipse(center1-diameter,center2-diameter, center1+diameter, center2+diameter); // Включение таймера - запуск анимации Timer1.Enabled:=true; end; end.
Прикрепленный файл | Размер |
---|---|
Google Edition.rar | 2.64 кб |