Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: CL | DM;

Вниз

Движение картинки к точке...   Найти похожие ветки 

 
Delphi_uzer ©   (2006-04-13 06:38) [0]

Люди помогите! Мне нужно чтобы мой image двигался по форме в указанное мышкой место, с заданной скоростью! Я пробовал такой код  

procedure TForm1.formMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button<>mbLeft then move:=false
else begin
move:=true;
x0:=x; //запоминаем начальные координаты
y0:=y;
end;
begin
if move then begin
image1.Left:=x;
image1.Top:=y;
end;
end;



но при этом картинка просто перескакивает в точку.

Помогите!


 
Jeer ©   (2006-04-13 11:38) [1]

Представь как ты ходишь из дома в магазин и сделай также, по шагам и с учетом конечно времени на шаг.


 
grisme ©   (2006-04-13 11:57) [2]

Jeer ©   (13.04.06 11:38) [1]
класное педагогическое объяснение, с немного скрытым правильным ответом...уж больше и не посоветовать...)


 
Delphi_uzer ©   (2006-04-13 15:19) [3]


> класное педагогическое объяснение, с немного скрытым правильным
> ответом...уж больше и не посоветовать...)

А можно всё же поподробней !


 
Yegorchic ©   (2006-04-13 15:54) [4]

Наверное, главное в [1] было

>  по шагам и с учетом конечно времени на шаг.


 
Delphi_uzer ©   (2006-04-13 16:18) [5]

Я конечно могу сделать движение по шагам в лево или право (вверх, вниз), но как сделать движение к указанной точке с координатой(X и Y) например из середины в левый верхний угол.


 
a22 ©   (2006-04-13 17:16) [6]

мде
p0 = {x0, y0} - стартовая точка
p1 = {x1, y1} - конечная

vS = (p1-p0)/STEPS - вектор скорости, STEPS - количество шагов, за которые нужно из p0 дойти до p1.
далее, например, в таймере:
{
  step++;
  position += vS;
  if ( step >= STEPS ) StopMoving(); // добрались
}

Вообще странно такие вещи объяснять. Или я вопрос неверно понял?


 
grisme ©   (2006-04-14 07:09) [7]

вычисли приращение отдельно по X и по Y за ОДНУ единицу времени.
и через эту единицу прибавляй X - dX, Y - dY.
Могут(они возникнут) возникнуть проблемы с целочисленой системой координат...


 
Delphi_uzer ©   (2006-04-14 07:56) [8]


> Вообще странно такие вещи объяснять. Или я вопрос неверно
> понял?

Ты всё правильно понял, просто я только начинаю изучать Delphi.



Страницы: 1 вся ветка

Текущий архив: 2006.11.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
15-1162125633
MsGuns
2006-10-29 15:40
2006.11.19
Динамо делает Локо !


2-1161872664
Ezorcist
2006-10-26 18:24
2006.11.19
Кнопка формы на панели задач


15-1162203513
Иван Петрович
2006-10-30 13:18
2006.11.19
Есть студенты? нужна прога


15-1162507884
Ketmar
2006-11-03 01:51
2006.11.19
какими только извращениями люди не страдают...


6-1151566641
ПЛОВ
2006-06-29 11:37
2006.11.19
Как получить количество отправленных/принятых байт?