Нахождение x и y смещения точки после вращения
Привет, поэтому я застрял с проблемой. Моя старая система снарядов стреляла только в 4 направлениях, поэтому при нахождении нового смещения это было легко, мне просто нужно было обратить некоторые числа
case "down":
xOffset = hitbox.xOffset;
yOffset = hitbox.yOffset;
width = hitbox.width;
height = hitbox.height;
break;
case "up":
xOffset = hitbox.xOffset;
yOffset = -hitbox.yOffset - hitbox.height;
width = hitbox.width;
height = hitbox.height;
break;
case "right":
xOffset = hitbox.yOffset;
yOffset = hitbox.xOffset;
width = hitbox.height;
height = hitbox.width;
break;
case "left":
xOffset = -hitbox.yOffset - hitbox.height;
yOffset = hitbox.xOffset;
width = hitbox.height;
height = hitbox.width;
break;
Так что это сработало отлично, но теперь проблема в том, что я больше не использую ректы для своего хитбокса и использую круги, и я также теперь реализовал 360 стрельбу.
У меня есть функция, которая получает скорость х и у в зависимости от того, где я щелкнул, но у меня нет функции, чтобы получить новый хитбокс на его основе.
newSpeed.x += speed * Math.cos(angle * Math.PI / 180);
newSpeed.y += speed * Math.sin(angle * Math.PI / 180);
Как я могу сделать что-то подобное, чтобы получить новое смещение?