Как получить траекторию объекта1, когда мы проводим объект2? - PullRequest
0 голосов
/ 15 июля 2010

Я пишу игровое приложение на iPad с использованием cocos2d.И игра в ландшафтном режиме.У него есть спрайтовый пистолет, который стреляет, а спрайт - это середина (512,10).
Цели появляются вдоль оси X.Проведя пальцем по спрайтовому пистолету, я должен сгенерировать траекторию пули в соответствии с углом, которым я ударил.
Итак, у меня есть начальная и конечная координаты касания оружия.И угол.Как я могу получить траекторию?

Спасибо.

1 Ответ

1 голос
/ 15 июля 2010

Если предположить, что земля ровная, сопротивления воздуха нет, а пуля стреляет по координатам (0, 0), формула для высоты как функция расстояния, пройденного по земле, выглядит следующим образом:

a = угол запуска
v = скорость запуска
х = расстояние, пройденное по земле
у = расстояние над землей
g = ускорение под действием силы тяжести.

y (x) = (x * tan (a)) - (((g / (cos (a) * cos (a))) / (2 * v * v)) * (x * x))

Проверьте, какие единицы измерения использует ваша математическая / тригонометрическая библиотека для углов (градусов или радиан)

Таким образом, предполагая, что пуля движется в направлении + ve x, построите график (0, y (0)), (1, y (1)), (2, y (2)) и т. Д., Пока y (x) <0, что означает, что пуля попала в землю. </p>

(Не забудьте добавить 512 к x и 10 к y при построении, чтобы соответствовать начальной точке в позиции вашего спрайта).

Здесь заканчивается урок математики. Переходим к вам на код iPad.

Если вы хотите стать по-настоящему модным, страница Wikipedia Trajectory довольно тщательна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...