Adding a custom cursor in XNA/C#?

夙愿已清 提交于 2019-11-27 08:01:37

问题


I am currently developing a game in XNA. I would like to add a cursor (not the standard Windows one)to the game. I have already added the sprite to my contents folder. I have a method for finding the position of the mouse, but I don't know how I should go about displaying the cursor in the window.

Here is the method I am using to find the position of the mouse (I instantiated a "MouseState" class in the beginning of the Game1 class):

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

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

回答1:


Load a Texture2D for the cursor image and simply draw it.

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();
  }
}



回答2:


If you like load a Windows Cursor (ani, cur) you can see: http://allenwp.com/blog/2011/04/04/changing-the-windows-mouse-cursor-in-xna/




回答3:


you can also use GUI and manually load a windows cursor to replace the default cursor



来源:https://stackoverflow.com/questions/5371657/adding-a-custom-cursor-in-xna-c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!