我一直在使用 SFML 1.6 库,我想知道。
如何旋转 Sprite 使其始终转向屏幕上鼠标所在的位置?
谢谢。
(首选 SFML 特定代码)
最佳答案
如果你有 Sprite 的位置:S = (Sx, Sy) 和光标的位置 C = (Cx, Cy)
您可以计算 vector 之间的角度= (Cx - Sx, Cy - Sy) 和一个单位 vector ,例如 = (1, 0, 0).
要计算角度,您可以使用 cross product :
然后:
然后你计算角度:
最后你旋转你的 Sprite :
Sprite.SetRotation(alpha); //alpha in degree
关于c++ - 将 Sprite 旋转到鼠标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4859306/