用Atan2计算角度

时间:2017-10-27 12:08:52

标签: c# sfml

我正在尝试将一条线(矩形)旋转到我的鼠标位置 我的代码是:

double xDiff = playerPosX - Mouse.GetPosition().X;
double yDiff = playerPosY - Mouse.GetPosition().Y;
double dir = Math.Atan2(yDiff, xDiff) * 180 / Math.PI;
line.Rotation = Convert.ToSingle(dir);

然而,这不能正确旋转到我的鼠标位置。 如何旋转:https://imgur.com/a/KNvVX 我希望有人能够提供帮助。

编辑:我必须改变鼠标位置的方式:Mouse.GetPosition(Game.window).X,它运行正常。感谢

1 个答案:

答案 0 :(得分:1)

要从应用程序窗口获取鼠标位置(导致它不起作用),只需使用Mouse.getPosition(yourwindow).x / y,它应该可以正常工作。