хотя нет,не то
вот что на таймер сделал
	Код:
	procedure TForm1.Timer2Timer(Sender: TObject);
begin
  click_x:=Mouse.CursorPos.X;
  click_y:=Mouse.CursorPos.Y;
  if click_x>x then
    dx:=5;
  if click_x<x then
    dx:=-5;
  if click_y>y then
    dy:=5;
  if click_y<y then
    dy:=-5;
end; 
 
а вот что на маусдаун:
	Код:
	procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  hero.Left:=hero.Left+dx;
  hero.Top:=hero.Top+dy;
end;
 
 
но не работает правильно.он постоянно двигается по одно диагонали (вниз-вправо) и чтоб он прошёл 5 пикселей нужно нажимать каждый раз.то есть кликать и кликать,а он всё равно в одном направлении идёт!