【问题标题】:Rotate Sprite to Mouse Position将精灵旋转到鼠标位置
【发布时间】:2011-06-19 01:27:48
【问题描述】:

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

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

谢谢。

(首选SFML特定代码)

【问题讨论】:

    标签: c++ sfml


    【解决方案1】:

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

    您可以计算矢量 = (Cx - Sx, Cy - Sy) 和单位矢量之间的角度,例如 = (1, 0, 0)。

    要计算角度,您可以使用cross product

    然后:

    然后你计算角度:

    最后你旋转你的精灵:

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

    【讨论】:

    • 圣母。更烦人的数学。 :(
    猜你喜欢
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多