Показать сообщение отдельно
  #7  
Старый 29.03.2012, 22:56
ksu04061992 ksu04061992 вне форума
Прохожий
 
Регистрация: 28.03.2012
Сообщения: 6
Репутация: 10
Вопрос

У меня получилось, но как сделать так что бы планета не оставляла следов при передвижении?

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Draw;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  type Planeta=record
  x,y,d,d2,r1,r2:integer;
  t:real;
  end;

var
  Form1: TForm1;
  s,z,m,v:planeta;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
   Timer1.Enabled:= false;
  s.d:= 50; s.d2:=s.d div 2;
  s.x:= Image1.Width div 2;
  s.y:= Image1.Height div 2;
  m.d:= 10;
  m.d2:= m.d div 2;
  m.r1:=100;
  m.r2:=60;
  m.t:=0;
  m.x:=m.r1*trunc(cos(m.t));
 m.y:=m.r2*trunc(sin(m.t));
end;

procedure tform1.Draw;
begin
image1.Canvas.Ellipse (s.x-m.r1,s.y-m.r2,s.x+m.r1,s.y+m.r2) ;
image1.Canvas.Ellipse(s.x-s.d2,s.y-s.d2,s.x+s.d2,s.y+s.d2);
image1.Canvas.Ellipse(m.x-m.d2,m.y-m.d2,m.x+m.d2,m.y+m.d2);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled:= true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
m.t:=m.t+0.06;
//if m.t>2*pi then m.t:=0;
m.x:=s.x+round(m.r1*cos(m.t));
 m.y:=s.y-s.r2-round(m.r2*sin(m.t));
  draw;

end;

end.

lmikle: Пользуемся тегами!!!



http://rghost.ru/37302439
Ответить с цитированием