XENA - 每次执行时鼠标坐标都不同

时间:2012-06-03 02:33:18

标签: xna

        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。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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