Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 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.012 c
1-1131012655
Friend
2005-11-03 13:10
2005.11.27
Печать содержимого RxRichEdit


1-1130849393
Nikk
2005-11-01 15:49
2005.11.27
Как Запретить сообщение ?


2-1131523754
Goast
2005-11-09 11:09
2005.11.27
Мерцает image!


4-1127737319
Red Stranger
2005-09-26 16:21
2005.11.27
Как получить список всех контролов дочернего окна


6-1123937295
0n!k
2005-08-13 16:48
2005.11.27
Как направить clientsocket через прокси?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский