У меня есть радар в моей игре. Сейчас радар работает с использованием статического графика X, Y, который не вращается в зависимости от того, как вы столкнулись в моей игре.Рассчитать новое положение X, Y на основе угла x, y обращено к радару
Я хочу, чтобы позиции X, Y на радаре вращались в зависимости от направления, в котором вы находитесь. Монстры впереди вас всегда появятся на вершине радара.
Прямо сейчас, радар является статичным, а монстры к северу от вас всегда будут появляться на север на радаре.
В настоящее время у меня есть математик так:
int x = (int)(x * Math.Cos(Math.PI * angle/180) + y * Math.Sin(Math.PI * angle/180));
int y = (int)(y * Math.Cos(Math.PI * angle/180) - x * Math.Sin(Math.PI * angle/180));
Затем я добавляю центр X и Y центра для указанных чисел, но граф странно и, кажется, только для работы с 359 ~ угла степени. Я попытался добавить мой центр X и центр Y перед его вычислением, но он всегда выключен.
Другой код, который я нашел онлайн, дифференцирован по градусам/углу.
if (angle >= 0 && angle <= 180)
{
x = (int)(x * Math.Cos(Math.PI * angle/180) - y * Math.Sin(Math.PI * angle/180));
y = (int)(x * Math.Sin(Math.PI * angle/180) + y * Math.Cos(Math.PI * angle/180));
}
else
{
x = (int)(x * Math.Cos(Math.PI * angle/180) - y * Math.Sin(Math.PI * angle/180));
y = (int)(x * Math.Sin(Math.PI * angle/180) + y * Math.Cos(Math.PI * angle/180));
}
Что такое правильная формула мне нужно взять Центр X (Сх), центр Y (сУ), угол я столкнулся и цель X (ТХ), цель Y (TY), чтобы переставить мишень X & Y.
Это сработало, я просто удалил вычитание позиции игрока и добавление его после вашей формулы. – Illuminati