将精灵旋转到鼠标位置
我一直在使用 SFML 1.6 库,我想知道。
如何旋转精灵,使其始终转向鼠标在屏幕上的位置?
谢谢。
(SFML具体代码优先)
I've been using the SFML 1.6 library, and I'd like to know.
How does one rotate a sprite so it always turns toward where the mouse is located on screen?
Thanks.
(SFML specific code is preferred)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果你有精灵的位置:S = (Sx, Sy) 和光标的位置 C = (Cx, Cy)
你可以计算向量 = (Cx - Sx, Cy - Sy) 和单位向量,例如 = (1, 0, 0)。
要计算角度,您可以使用叉积:
然后:
然后你计算角度:
最后你旋转你的精灵:
If you have the position of the sprite : S = (Sx, Sy) and the position of the cursor C = (Cx, Cy)
You can calculate the angle between the vector = (Cx - Sx, Cy - Sy) and a unit vector for example = (1, 0, 0).
To calculate the angle you can use the cross product :
And then :
then you calculate the angle :
Finally You rotate your sprite :