Добавление пользовательского курсора в XNA / C #? - PullRequest
4 голосов
/ 21 марта 2011

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

Вот метод, который я использую для определения положения мыши(Я создал экземпляр класса MouseState в начале класса Game1):

public int[] getCursorPos()
    {
        cursorX = mouseState.X;
        cursorY = mouseState.Y;

        int[] mousePos = new int[] {cursorX, cursorY};
        return mousePos;
    }

Ответы [ 3 ]

15 голосов
/ 21 марта 2011

Загрузите Texture2D для изображения курсора и просто нарисуйте его.

class Game1 : Game 
{
  private SpriteBatch spriteBatch;

  private Texture2D cursorTex;
  private Vector2 cursorPos;


  protected override void LoadContent() 
  {
    spriteBatch = new SpriteBatch(GraphicsDevice);
    cursorTex = content.Load<Texture2D>("cursor");
  }

  protected override Update(GameTime gameTime() {
    cursorPos = new Vector2(mouseState.X, mouseState.Y);
  }

  protected override void Draw(GameTime gameTime)
  {
    spriteBatch.Begin();
    spriteBatch.Draw(cursorTex, cursorPos, Color.White);
    spriteBatch.End();
  }
}
5 голосов
/ 23 марта 2012

Если вам нравится загружать курсор Windows (ani, cur), вы можете увидеть: http://allenwp.com/blog/2011/04/04/changing-the-windows-mouse-cursor-in-xna/

1 голос
/ 22 декабря 2011

Вы также можете использовать графический интерфейс и вручную загружать курсор Windows, чтобы заменить курсор по умолчанию

...