Ты сделал все с точность до наоборот
По форм клик только сохраняем координаты:
Код:
click_x:=Mouse.CursorPos.X;
click_y:=Mouse.CursorPos.Y;
На таймер вешай:
Код:
dx:=0;if cx>x then dx:=1;if cx<x then dx:=-1;
dy:=0;if cy>y then dy:=1;if cy<y then dy:=-1;
+
Код:
hero.Left:=hero.Left+dx;
hero.Top:=hero.Top+dy;