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。
答案 0 :(得分:1)
MouseState.X和MouseState.Y表示鼠标相对于窗口左上角的值。他们改变的原因可能是因为在Windows中,每次运行程序时窗口位置都会改变。您可以通过每次运行时截取屏幕截图来检查是否是这种情况。
答案 1 :(得分:0)
MouseState.X和MouseState.Y是鼠标相对于窗口左上角的坐标。如果它们发生变化,则表示您的窗口移动或鼠标移动。没有其他可能的解释。