Найти координаты x и y угла? В игре я нажимая влево или вправо изменяю угол, вместе с этим поворачивается картинка в нужном направлении. Но проблема возникает когда я хочу передвинуть спрайт вперёд. Нужны координаты для x и y. Мне это нужно, чтобы передвинуть спрайт на следующие координаты x и y
На заметку, такой способ не подходит.pd.x = 180 * cos ( angle ) + pd.x + 64;
pd.y = 180 * sin ( angle ) + pd.y + 64;pd.[yx] это спрайт персонажа.64 это половина размера картинки.angle это угол.
Почему такой способ не подходит, потому что когда у меня поворот спрайта реагировал на перемещение мыши, то вычисление этих углов постоянно поворачивалось в направлении по кругу.

21 Авг 2019 в 06:07
150 +1
0
Ответы
1

Для того чтобы правильно передвигать спрайт вперёд при изменении угла, необходимо использовать следующие формулы для вычисления новых координат x и y:

new_x = current_x + distance cos(angle)
new_y = current_y + distance sin(angle)

Где:

new_x и new_y это новые координаты спрайтаcurrent_x и current_y это текущие координаты спрайтаdistance это расстояние, на которое необходимо передвинуть спрайт вперёдangle это угол поворота спрайта

Например, если у вас текущие координаты спрайта (current_x, current_y) равны (100, 100), угол поворота angle равен 90 градусов, и вы хотите передвинуть спрайт на 50 единиц вперёд, то новые координаты (new_x, new_y) будут равны:

new_x = 100 + 50 cos(90) = 100
new_y = 100 + 50 sin(90) = 150

Таким образом, чтобы правильно передвигать спрайт вперёд при изменении угла, необходимо использовать приведенные выше формулы.

20 Апр 2024 в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир