![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Движение картинки к точке... [D7, WinXP]
Delphi_uzer © (2006-04-13 06:38:00)Люди помогите! Мне нужно чтобы мой 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;
но при этом картинка просто перескакивает в точку.
Помогите!
Delphi_uzer (2006-04-14 07:56:00) [1]
> Вообще странно такие вещи объяснять. Или я вопрос неверно
> понял?
Ты всё правильно понял, просто я только начинаю изучать Delphi.
grisme (2006-04-14 07:09:00) [2]вычисли приращение отдельно по X и по Y за ОДНУ единицу времени.
и через эту единицу прибавляй X - dX, Y - dY.
Могут(они возникнут) возникнуть проблемы с целочисленой системой координат...
a22 (2006-04-13 17:16:00) [3]мде
p0 = {x0, y0} - стартовая точка
p1 = {x1, y1} - конечная
vS = (p1-p0)/STEPS - вектор скорости, STEPS - количество шагов, за которые нужно из p0 дойти до p1.
далее, например, в таймере:
{
step++;
position += vS;
if ( step >= STEPS ) StopMoving(); // добрались
}
Вообще странно такие вещи объяснять. Или я вопрос неверно понял?
Delphi_uzer (2006-04-13 16:18:00) [4]Я конечно могу сделать движение по шагам в лево или право (вверх, вниз), но как сделать движение к указанной точке с координатой(X и Y) например из середины в левый верхний угол.
Yegorchic (2006-04-13 15:54:00) [5]Наверное, главное в [1] было
> по шагам и с учетом конечно времени на шаг.
Delphi_uzer (2006-04-13 15:19:00) [6]
> класное педагогическое объяснение, с немного скрытым правильным
> ответом...уж больше и не посоветовать...)
А можно всё же поподробней !
grisme (2006-04-13 11:57:00) [7]Jeer © (13.04.06 11:38) [1]
класное педагогическое объяснение, с немного скрытым правильным ответом...уж больше и не посоветовать...)
Jeer (2006-04-13 11:38:00) [8]Представь как ты ходишь из дома в магазин и сделай также, по шагам и с учетом конечно времени на шаг.