Найти координаты 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 это угол. Почему такой способ не подходит, потому что когда у меня поворот спрайта реагировал на перемещение мыши, то вычисление этих углов постоянно поворачивалось в направлении по кругу.
new_x и new_y это новые координаты спрайтаcurrent_x и current_y это текущие координаты спрайтаdistance это расстояние, на которое необходимо передвинуть спрайт вперёдangle это угол поворота спрайта
Например, если у вас текущие координаты спрайта (current_x, current_y) равны (100, 100), угол поворота angle равен 90 градусов, и вы хотите передвинуть спрайт на 50 единиц вперёд, то новые координаты (new_x, new_y) будут равны:
Для того чтобы правильно передвигать спрайт вперёд при изменении угла, необходимо использовать следующие формулы для вычисления новых координат 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
Таким образом, чтобы правильно передвигать спрайт вперёд при изменении угла, необходимо использовать приведенные выше формулы.