Занос автомобиля. когда дирекшен и фейсинг дирекшен разные, трабла.

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Занос автомобиля. когда дирекшен и фейсинг дирекшен разные, трабла.

Страницы: 1  новая тема

Автор Сообщение


Группа: Участники
Сообщений: 8
Добавлено: 12-01-2007 16:21
Диспозиция. АвтО должно заносить, те. направление движения и направление носа автомобиля разные. Чтобы высчитать например силу противодействия заносу и приближения (или наоборот) направления носа автомобиля к направлению движения надо иметь разницу между этими двумя параметрами в градусах. Я беру и от направления носа вычитаю направление движения, например из 123 градусов вычитаю 129, или наоборот если занос в другую сторону, проблема в том, что проводится проверка, что больше из этих двух переменных, и из большей вычитается меньшая, а с этим результатом уже можно много что сделать. Трабла собсно в том что когда например направление движения 355 градусов а направление носа авто перевалило за эту цифру и составляет 3 градуса, то происходи трабл, движок начинает не из 3 (которые должны на самом деле быть 363) а из 355 вычитать три градуса. В то время когда надо из 363 вычесть 355.
Есть решение, но оно меня не устраивает. Можно при создании обьекта сразу обеим переменным прибавлять например по 999999999999 градусов, тогда это исчезнет, но меня интересуют альтернативные способы решения этой задачи. Плиииз...


Группа: Участники
Сообщений: 8
Добавлено: 12-01-2007 16:42
Так же надо чтобы авто сильнее замедлялось при сильном заносе и при этом переводило часть скорости в направление носа

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 12-01-2007 18:53
есь такой пример про больную тему определения кратчайшего направления поворота.. ну там про танковую башню, но и тут сгодится.
Вот цитата из кода:

// Я даже не берусь объяснять вам как это работает, но просто запомните,
// что знак полученного значения и укажет вам направление поворота.
// Разберитесь в этом сами.
temp=sin(degtorad(point_direction(x,y,mouse_x,mouse_y)-image_angle))

image_angle - направление тела
point_direction(x,y,mouse_x,mouse_y) - направление к которому будет происходить поворот


Группа: Участники
Сообщений: 8
Добавлено: 12-01-2007 21:02
Спасибо, ша попробую. Хотя башню танка сделать элементарно. Надо просто приравнивать ее скорость и направление к самоходке и так же ее перекидывать на точку самоходки каждый цыкл. и всё.
А этот код ша опробую.


Группа: Участники
Сообщений: 8
Добавлено: 12-01-2007 21:17
У меня сейчас такая проверка

if direction+9999999999 is larger than fd+9999999999
set the friction to (direction+9999999999)-(fd+9999999999)
if direction+9999999999 is smaller than fd+9999999999
set the friction to (fd+9999999999)-(direction+9999999999)

FD - направление носа
FDD - сила поворота (дельта умно говоря)
у меня сейчас фрикшн пока только нарастает при большой разнице

Дундук - не беспокоить!
Группа: Модераторы
Сообщений: 1435
Добавлено: 12-01-2007 21:42
Надо просто приравнивать ее скорость и направление к самоходке и так же ее перекидывать на точку самоходки каждый цыкл. и всё.
А этот код ша опробую.

Ну да, а еще можно присваивать координаты в End Step ;)

Страницы: 1  новая тема
Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Занос автомобиля. когда дирекшен и фейсинг дирекшен разные, трабла.

Отвечать на темы в данном разделе могут только зарегистрированные пользователи

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU