Доброго времени суток. Пишу игру на MS DOS под названием "Glow Hockey". Всё написанно, но нужно написать самую главную функцию - соприкосновения игрока и шайбы. Нужно чтобы она отлетала под правильной траекторией. Ума не приложу как вычислять углы и всё такое. Код кидать не вижу смысла, т.к. там около 600 строк. Прошу хотя бы на пальцах объяснить, мб используя другие константы, чтобы я понял и мог уже наконец-то закончить её.
Кидаю скрин, для понимая того, что у меня есть. Заранее спасибо.
http://vfl.ru/fotos/b1857f3e5369736.html
Физика движения шайбы в глоу хоккее
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Попробуйте так:
направление движения шайбы задаётся углом ygol. Из курса физики, вектор скорости можно разложить на проекции:
prox = начальная скорость * cos(ygol);
proy = начальная скорость * sin(ygol);
задаём значения начальной скорости, в зависимости от того быстрее или медленнее надо лететь шайбе и угол ygol, крутой или сглаженный.
задаём ускорение свободного падения:
const float g = 32.18;
затем в цикле изменяя время t вычисляем координаты x,y движения шайбы:
x =prox * t;
y =proy * t - 0.5 * g * t * t;
движение по горизонтали происходит с постоянной скоростью, а движение по вертикали определяется ускорением свободного падения.
направление движения шайбы задаётся углом ygol. Из курса физики, вектор скорости можно разложить на проекции:
prox = начальная скорость * cos(ygol);
proy = начальная скорость * sin(ygol);
задаём значения начальной скорости, в зависимости от того быстрее или медленнее надо лететь шайбе и угол ygol, крутой или сглаженный.
задаём ускорение свободного падения:
const float g = 32.18;
затем в цикле изменяя время t вычисляем координаты x,y движения шайбы:
x =prox * t;
y =proy * t - 0.5 * g * t * t;
движение по горизонтали происходит с постоянной скоростью, а движение по вертикали определяется ускорением свободного падения.
-
- Сообщения: 95
- Зарегистрирован: 12 окт 2015, 04:09
- Откуда: Guam
- Контактная информация:
На нашем сайте вы можете чувствовать себя в безопасности! Кроме того, мы используем зеркальные жесткие диски на все наши серверы, поэтому мы также взять резервную два раза в день на отдельных серверах. Мы используем ISPmanager, как на панели управления. ISPmanager является панель управления, которая позволяет легко управлять своей веб-сайт. С нами вы можете разместить столько веб-сайты и домены, которые вы хотите для учетной записи хостинга.
virtual hosting
virtual hosting