Проблемы с положением мыши в XNA 3.1 - PullRequest
0 голосов
/ 29 июля 2011

Я использую XNA 3.1 для разработки игры, у меня небольшая проблема с положением мыши, я также предоставляю снимки экрана с этой проблемой, сейчас в коде ниже я пытаюсь отобразить текст «Пуск»точно в позиции мыши, но текст располагается на расстоянии 200 - 250 пикселей от курсора, а не в той же точке, где курсор находится в окне игры.

void MenuMainMenuDraw()
        {
            // Main Menu After Draw
            // Menu Option After Draw

            MouseState ms = Mouse.GetState();

            spriteBatch.DrawString(fontMenu, "Start"
               , new Vector2(ms.X, ms.Y)
               , Color.Red);


            spriteBatch.DrawString(fontMenu, "Options"
                , new Vector2((float)MENU_GLOBAL.MENU_POSITION_X, (float)MENU_GLOBAL.OPTION_POSITION_Y)
                , Color.Red);

            spriteBatch.DrawString(fontMenu, "Leader's Board"
                , new Vector2((float)MENU_GLOBAL.MENU_POSITION_X, (float)MENU_GLOBAL.HIGHSCORE_POSITION_Y)
                , Color.Red);

        }

enter image description here С уважением MGD

Ответы [ 2 ]

2 голосов
/ 01 августа 2011

Есть несколько возможных причин, о которых я могу подумать. Я не вижу ничего плохого в размещенном вами фрагменте кода, поэтому, если ничего из этого не решит, опубликуйте больше кода.

Возникает ли та же проблема при создании нового SpriteFont с использованием шрифта по умолчанию? Это может быть проблема с интервалом в шрифте, который вы используете в настоящее время.

В вашем spriteBatch.Begin(...) коде вы предоставляете transformMatrix? Если это так, попробуйте использовать spriteBatch.Begin() без аргументов. Вы делаете что-то необычное, например, применяете Effect s к вашему рисунку SpriteBatch?

Вы рисуете к цели рендера, которая затем перерисовывается на экране?

0 голосов
/ 21 июня 2013

У меня были проблемы с положением мыши, которые казались странными, если бы мое игровое окно было на самом деле больше, чем разрешение экрана компьютера, на котором я запускал игру. Это быстрая проверка, но это может помочь. (Также помните, что XNA рисует изображения из центральной точки, но я считаю, что по умолчанию рисует тест из левого верхнего угла текста). Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...