![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перемещение юнита [Delphi, Windows]
Dmitrich © (2003-12-23 09:31:00)Привет мастера Delphi. Помогите реализовать перемещение юнита из точки А(x0,y0) в точку Б(x1,y1). Я предполагаю, что это можно сделать с помощью вычислений:
x:=x+cos256(A);
y:=y+Sin256(A);
Где А угол.
Как вычислить этот угол. И очень интересно как Вы обычно решаете этот вопрос.
Kobik (2003-12-23 19:57:00) [1]Есть такая функция ArcTan2 в стандартой библиотеке math (или чтото типа того)
function ArcTan2(Y, X: Extended): Extended;
asm
FLD Y
FLD X
FPATAN
FWAIT
end;
Просто A:=ArcTan2(y1-y0,x1-x0);
Можно через обычный ArcTan, только тогда надо сделать соответствующие проверки на четверти.
Darthman (2003-12-23 10:22:00) [2]X:=X+dX;
Y:=Y+dY;
где dX и dY высчитываются, например, через тангенсы угла.