3

我一直在使用 SFML 1.6 库,我想知道。

如何旋转精灵,使其始终转向鼠标在屏幕上的位置?

谢谢。

(首选 SFML 特定代码)

4

1 回答 1

8

如果你有精灵的位置:S = (Sx, Sy) 和光标的位置 C = (Cx, Cy)

您可以计算矢量在此处输入图像描述= (Cx - Sx, Cy - Sy) 和单位矢量之间的角度,例如在此处输入图像描述= (1, 0, 0)。

要计算角度,您可以使用叉积

在此处输入图像描述

进而 :

在此处输入图像描述

然后你计算角度:

在此处输入图像描述

最后你旋转你的精灵:

Sprite.SetRotation(alpha); //alpha in degree
于 2011-02-01T09:09:25.060 回答