Поворот Спрайта в положение мыши



Я использую библиотеку SFML 1.6 и хотел бы знать.



Как повернуть спрайт так, чтобы он всегда поворачивался в ту сторону, где находится мышь на экране?



Спасибо.



(предпочтителен специальный код SFML)

619   2  
c++

2 ответов:

Если у вас есть позиция спрайта: S = (Sx, Sy) и позиция курсора C = (Cx, Cy)

Можно вычислить угол между вектором Введите описание изображения здесь = (Cx-Sx, Cy-Sy) и единичным вектором, например Введите описание изображения здесь = (1, 0, 0).

Для вычисления угла можно использовать поперечное произведение :

Введите описание изображения здесь

А затем:

Введите описание изображения здесь

Затем вы вычисляете угол:

Введите описание изображения здесь

Наконец, вы поворачиваете свой спрайт:

Sprite.SetRotation(alpha); //alpha in degree

Это обсуждается на форуме SFML по ссылке this link.

Comments

    Ничего не найдено.