Показать сообщение отдельно
  #7  
Старый 18.05.2014, 07:39
Sphynx55 Sphynx55 вне форума
Прохожий
 
Регистрация: 15.05.2014
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Самый простой способ уменьшить разность:
cx,cy - координаты клика;
x,y - координаты объекта;
dx,dy -искомый вектор;
Код:
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;
Способ посложнее - по аналогии с алгоритмом Брезенхе́ма.
ru.wikipedia.org/wiki/Алгоритм_Брезенхэма
Ответить с цитированием