Форум: "Игры";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
ВнизArcTan Найти похожие ветки
← →
n0p (2005-07-12 12:13) [0]Делаю игру. Хочу, чтобы игрок смотрел в сторону курсора, но угол определяется не так. Если курсор поднять высоко то голова поворацивается вообще на другую сторону :).
if (iX + 4) = MouseX then
Angle := 0
else
Angle := ArcTan((MouseY - (iY + 3))/(MouseX - (iX + 4)));
if MouseX < (iX + 4) then Angle := Angle + PI;
...
Find("head").DrawRotate(DXDraw.Surface, iX + 10, iY + 9, 15, 11, 0, 0.5, 0.9, Trunc(Angle/PI*255));
← →
Kobik © (2005-07-12 12:35) [1]Используй ArcTan2 и никаких проверок делать не придется
← →
n0p (2005-07-12 13:31) [2]
uses ..., Math
...
Angle := ArcTan2((MouseY - (iY + 3)),(MouseX - (iX + 4)));
Ну ничего нового.
← →
A22 © (2005-07-12 14:44) [3]atan2 вернет угол от -pi до +pi. переведи в свой отрезок (тебе нужно 0-255?)
← →
n0p (2005-07-12 18:37) [4]Понял. Угу. Пасиб. Работает.
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.015 c