2 ответов:
Если у вас есть позиция спрайта: S = (Sx, Sy) и позиция курсора C = (Cx, Cy)
Можно вычислить угол между вектором
= (Cx-Sx, Cy-Sy) и единичным вектором, например
= (1, 0, 0).
Для вычисления угла можно использовать поперечное произведение :
А затем:
Затем вы вычисляете угол:
Наконец, вы поворачиваете свой спрайт:
Sprite.SetRotation(alpha); //alpha in degree
Это обсуждается на форуме SFML по ссылке this link.
= (Cx-Sx, Cy-Sy) и единичным вектором, например
= (1, 0, 0).


Comments