Вниз
Скачать: CL | DM;

Перемещение юнита   Найти похожие ветки 

 
Dmitrich   (2003-12-23 09:31) [0]

Привет мастера Delphi. Помогите реализовать перемещение юнита из точки А(x0,y0) в точку Б(x1,y1). Я предполагаю, что это можно сделать с помощью вычислений:
x:=x+cos256(A);
y:=y+Sin256(A);

Где А угол.

Как вычислить этот угол. И очень интересно как Вы обычно решаете этот вопрос.


 
Darthman ©   (2003-12-23 10:22) [1]

X:=X+dX;
Y:=Y+dY;

где dX и dY высчитываются, например, через тангенсы угла.


 
Kobik ©   (2003-12-23 19:57) [2]

Есть такая функция ArcTan2 в стандартой библиотеке math (или чтото типа того)

function ArcTan2(Y, X: Extended): Extended;
asm
       FLD     Y
       FLD     X
       FPATAN
       FWAIT
end;

Просто A:=ArcTan2(y1-y0,x1-x0);

Можно через обычный ArcTan, только тогда надо сделать соответствующие проверки на четверти.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
9-1072642249
Igoryok
2003-12-28 23:10
2004.05.16
PolyBezier или как сделать кривую как в нормально графическом рет


11-1068963064
Ciber SLasH
2003-11-16 09:11
2004.05.16
Тормоза в PaintBox e


3-1082102461
Evgenija
2004-04-16 12:01
2004.05.16
добавление записи в базу


1-1083225929
Игорь
2004-04-29 12:05
2004.05.16
Когда я пишу в RichEdit текст вот такой


14-1082994194
}|{yk
2004-04-26 19:43
2004.05.16
Как вы относитесь к высказыванию кажется Бернарда Шоу




   Наверх