Я делаю cabal на C++, используя библиотеку SDL. Cabal - игра, в которой игрок сидит в нижней части экрана и может двигаться только в направлении x. Пока враги появляются впереди и стреляют ракетами на вас. Игра немного похожа на это.Rocket Curvature в C++ SDL игра
Я хочу, чтобы ракета взять траекторию, показанную в зеленый цвет. Изогнутая траектория. Однако он принимает траекторию, которая показана красным цветом. Имейте в виду, что игрок также движется, поэтому траектория не фиксирована.
Код я реализовал до сих пор это:
void Missiles::Move(int playerX)
{
angle =atan(playerX - X);
X=X + sin(angle)*2;
}
Где PlayerX является X координаты игрока и X является ракеты X координаты. Я заставил Y-координаты меняться с постоянной скоростью, поэтому я не показал их в коде.
Если ракета имеет начальную скорость, а затем просто падает или должна быть больше похожа на поисковую раку? Проблема (отсюда и ответ) абсолютно не то же самое, и ваш вопрос совершенно неясен в этом. – Zouch
Также необходимо, чтобы ракета указывала на игрока в любое время или должна иметь некоторую задержку, чтобы смотреть на него и т. Д. – Zouch