![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Как сделать чтоб эллипс рисовался по таймеру по определённым координатам которые вычисляются в цикле...вот у меня такая шняга...
Код:
procedure TForm1.Timer2Timer(Sender: TObject);
var Vx,Vy,x,y,d,a:real;
begin
Canvas.Brush.Color:=clblue;
Canvas.Pen.Color:=clblack;
Vx:=1500;
Vy:=1200;
x:=11000;
y:=0;
d:=0.001;
a:=-3;
repeat
Vx:=Vx+a*x;
Vy:=Vy+a*y;
x:=x+Vx*d;
y:=y+Vy*d;
xe1:=350+round(x/110);
ye1:=250-round(y/0.5);
Canvas.MoveTo(xe1,ye1);
Canvas.Ellipse(xe1-5,ye1+5,xe1+5,ye1-5);
until x>11000;:) lmikle: пользуемся тегами! короче мне надо чтоб не сразу рисовалось а через интервал времени... |
|
#2
|
|||
|
|||
|
Тебе надо сделать тка, что по таймеру будет отрисовываться 1 итерация цикла, а все переменные тебе надо определить на уровне класса.
|
|
#3
|
|||
|
|||
|
А как это сделать?????
|
|
#4
|
||||
|
||||
|
В качестве цикла у тебя бкдет выступать само событие
Код:
Form1.Timer2Timer(Sender: TObject); Код:
Timer2.Enabled := x > 11000; Код:
Vx,Vy,x,y,d,a:real; Код:
procedure TForm1.FormCreate(Sender: TObject); begin Vx:=1500; Vy:=1200; x:=11000; y:=0; d:=0.001; a:=-3; end; |