【发布时间】:2011-06-19 01:27:48
【问题描述】:
我一直在使用 SFML 1.6 库,我想知道。
如何旋转精灵,使其始终朝向鼠标在屏幕上的位置?
谢谢。
(首选SFML特定代码)
【问题讨论】:
我一直在使用 SFML 1.6 库,我想知道。
如何旋转精灵,使其始终朝向鼠标在屏幕上的位置?
谢谢。
(首选SFML特定代码)
【问题讨论】:
如果你有精灵的位置:S = (Sx, Sy) 和光标的位置 C = (Cx, Cy)
您可以计算矢量 = (Cx - Sx, Cy - Sy) 和单位矢量之间的角度,例如 = (1, 0, 0)。
要计算角度,您可以使用cross product:
然后:
然后你计算角度:
最后你旋转你的精灵:
Sprite.SetRotation(alpha); //alpha in degree
【讨论】: