Показать сообщение отдельно
Старый 07.01.2012, 12:31   #5
Платон Александрович
Нуждающийся
 
Аватар для Платон Александрович
 
Регистрация: 05.10.2011
Адрес: Россия, Южно-Сахалинск
Сообщений: 66
Написано 42 полезных сообщений
(для 83 пользователей)
Ответ: Управление. Нажатые кнопки -> угол поворота

Сообщение от ABTOMAT Посмотреть сообщение
Ну зачем тут углы и прочая тригонометрия?
По сути тут только 1 число используется - синус 45° (~0.74...) На него домножать и всё. У меня он даже в константу вбит. Типа
if(две кнопки жаты)
{
if(вверх+вправо){двинуть на 0.74 вперёд и 0.74 вправо}
if(вверх+влево){двинуть на 0.74 вперёд и 0.74 влево}
...
}
if(одна кнопка жата)
{
как обычно обрабатываем
}
а теперь посчитай длину вектора 0.74^2 + 0.74^2 = 1.0952, а значит скорость по диагонали будет выше
в таком случае должно быть sqrt(0.5), т.е. ~0.7071
почему я и говорю что проще и универсальнее (2д\3д) нормализовать вектор после суммирования.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
h1dd3n (07.01.2012)