Привет, так что я застрял с проблемой. Моя старая система снарядов стреляла только в 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 стрельбу.
У меня есть функция, которая получает скорость x и y в зависимости от того, где я щелкнул, но у меня нет функции для получения нового хитбокса на ее основе.
newSpeed.x += speed * Math.cos(angle * Math.PI / 180);
newSpeed.y += speed * Math.sin(angle * Math.PI / 180);
Как мне сделать что-то похожее, чтобы получить новое смещение?