|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
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 |
Так же надо чтобы авто сильнее замедлялось при сильном заносе и при этом переводило часть скорости в направление носа | |
DreamRunner магистр Группа: Сообщество 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 - сила поворота (дельта умно говоря) у меня сейчас фрикшн пока только нарастает при большой разнице |
|
CH@$ER Дундук - не беспокоить! Группа: Модераторы Сообщений: 1435 |
Добавлено: 12-01-2007 21:42 |
Ну да, а еще можно присваивать координаты в End Step ;) |
Страницы: 1 |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Занос автомобиля. когда дирекшен и фейсинг дирекшен разные, трабла. |