1
        private void Main_Step()
    {
        MouseState mouseState = Mouse.GetState();
        double x_pixel, y_pixel;

        device.Clear(Color.CornflowerBlue);
        spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend);
        spriteBatch.DrawString(testFont, "(" + mouseState.X + ", " + mouseState.Y, new Vector2(500, 50), Color.Yellow);
        spriteBatch.End();

    }

每当我执行 XNA 程序时,即使我什么都不移动鼠标,鼠标坐标 X、Y 也在不断变化。我认为它应该被修复,因为我没有移动鼠标。

这个问题使鼠标事件变得困难。

有什么问题?我的屏幕分辨率是 1920 x 1080。

4

2 回答 2

1

MouseState.X 和 MouseState.Y 表示鼠标相对于窗口左上角的值。它们发生变化的原因可能是因为在 Windows 中,每次运行程序时窗口位置都会发生变化。您可以通过每次运行时截取屏幕截图来检查是否是这种情况。

于 2012-06-03T09:18:38.480 回答
0

MouseState.X 和 MouseState.Y 是鼠标相对于窗口左上角的坐标。如果它们发生变化,则意味着您的窗口移动或鼠标移动。没有其他可能的解释。

于 2012-06-03T02:44:06.513 回答