Вопрос , про медленный поворот объекта.
|
|
Krosos | Дата: Четверг, 31 Октября 2013, 23:01 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Самый частый пример такого - это турель. Вот ее примерный код:
direction=round(direction) if point_direction(x,y,Player.x,Player.y)!=direction{ if point_direction(x,y,Player.x,Player.y)>direction{direction+=2}else{direction-=2} } Вроде нормально , но возникает проблема.=( Когда , например , поинтдирешен равен 350 , а дирекшен равен 30 , то поворот пойдет по часовой стрелке , а не против часовой , то есть ,нелогично. Что тут можно сделать?
Мой проект
|
|
| |
TaDaDaPam | Дата: Пятница, 01 Ноября 2013, 06:24 | Сообщение # 2 |
частый гость
Сейчас нет на сайте
| Krosos, + - левее, соответственно - - правее. А у тебя, по ходу все наоборот
|
|
| |
Krosos | Дата: Пятница, 01 Ноября 2013, 12:06 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Посмотри еще раз , там ,вроде, все правильно у меня./ И не в этом суть вопроса.
Мой проект
|
|
| |
SalahAdDin | Дата: Пятница, 01 Ноября 2013, 16:23 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| if point_direction < 180 {...} else {...}Добавлено (01.11.2013, 16:23) --------------------------------------------- Не, не так. if 180 < direction - point_direction < 0 {...} if 180 > direction - point_direction > 359 {...}
Вроде бы в этот раз правильно.
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
|
|
| |
LunarPixel | Дата: Пятница, 01 Ноября 2013, 20:10 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| Цитата SalahAdDin ( ) 180 < direction - point_direction < 0 это что же за число такое, которое больше 180 и меньше 0? Аналогично со вторым условием.
Для этого дела есть старый добрый скрипт:
Код direction = direction mod 360 if direction <0 direction += 360 if abs(direction-point_direction(x,y,mouse_x,mouse_y))<2 direction = point_direction(x,y,mouse_x,mouse_y) else direction = direction + (sign(sin(degtorad(point_direction(x,y,mouse_x,mouse_y)-direction)))*2)
image_angle=direction
|
|
| |
Krosos | Дата: Суббота, 02 Ноября 2013, 18:03 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| LunarPixel, Спасибо!
Мой проект
|
|
| |
SalahAdDin | Дата: Четверг, 07 Ноября 2013, 18:35 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| Цитата LunarPixel это что же за число такое, которое больше 180 и меньше 0? Аналогично со вторым условием Пытался сидя в перерыве между клиентами вспомнить тригонометрию. Впрочем нечто подобное я с горем пополам прикрутил к этому: gcup.ru/forum/9-21424-1. Даже исходник сохранился
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
|
|
| |