![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
у меня на форме есть 6 картинок(круги).надо по нажатию кнопки чтоб они передвигались ПЛАВНО от одной позиции в другую, получается по кругу двигаются. и потом обратно вставали эти круги на свои места
|
|
#2
|
||||
|
||||
|
Меняй позицию круга на x+dx и y+dy по таймеру.
|
|
#3
|
|||
|
|||
|
плз напишите код. я плохо разбираюсь
![]() |
|
#5
|
|||
|
|||
|
маленький кусок кода неужели просто не напишут?
|
|
#6
|
|||
|
|||
|
Код:
type
TCirclePos = record
R : Integer;
A : Extended;
end;
var
A : array [0..5] Of TCirclePos; // Коорд. кругов (радиалная ск)
dA : Extended; // изм. угла
cX, cY : Integer; // коорд.
function GetXY(X,Y,R : Integer; A : Extended) : TPoint;
begin
// получение экр. координат из радиальных
// сам напишешь - лень лезть искать формулы
end;
procedure Form1.Timer1Timer(Sender : TObject);
var
I :Integer;
P : TPoint;
begin
For I := 0 To 5 Do
Begin
// стираем старый
P := GetXY(cX,cY,A[i].R,A[i].A);
Canvas.Brush.Color := clBlack;
Canvas.Circle(...); // сюда нужные данные подставить
// Рисуем новый
A[i].A := A[i].A + dA;
P := GetXY(cX,cY,A[i].R,A[i].A);
Canvas.Brush.Color := clWhite;
Canvas.Circle(...); // сюда нужные данные подставить
End;
end;Сильно помогло??? А полностью за тебя никто делать не будет... |