Показать сообщение отдельно
  #1  
Старый 23.11.2011, 17:03
Nancy90 Nancy90 вне форума
Прохожий
 
Регистрация: 21.11.2011
Сообщения: 4
Репутация: 10
По умолчанию Движение точки по окружности на delphi, помогите разобраться пожалуйста!

Задачка такая: Изобразить на экране точку, которая движется по окружно-сти с постоянной угловой скоростью. Эту угловую скорость можно задавать.
Код написала, но программа не работает! (А в чем дело непонятно... И что следует писать в TForm1.Timer1Timer?

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Timer1: TTimer;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
   a, //угол в рад..
   s, //скорость передвижения точки в рад.
   r: double; //радиус
   x0, y0, //центр окружности
   x, y: integer; // координаты точки

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin
  a:=90;
 s:=30;
 x0:=133;
 y0:=133;
 x:=133;
 y:=31;
 r:=30;
 Image1.Canvas.Pixels[x,y]:=clRed;
 a:=a*(pi/180) + s*(pi/180);
 x:=x0 + Round(Cos(a)*r);
 y:=y0 - Round(Sin(a)*r);
 Image1.Canvas.Pixels[x,y]:=clBlack;
 Timer1.Enabled:=true;

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin

end;

end.
Админ: Пользуемся тегами для оформления кода!
Ответить с цитированием