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 に答える