Tengo algunos problemas con las coordenadas de mi mouse en XNA - el 0x0 está arbitrariamente cerca (pero no en) la esquina superior izquierda de mi pantalla.C# XNA Posición del mouse
estoy corriendo el juego en modo de ventana en este momento, pero las coordenadas se basan fuera de la pantalla, no la ventana de juego (aunque la documentación XNA me dice que debería ser de otra manera)
Gracias de antemano!
Aquí está el código:
namespace TheGame
{
class Mousey
{
static public Vector2 pos;
static private Texture2D tex;
static public MouseState mouseState;
static public MouseState previousState;
//static public Mousey()
//{
//}
static public void Update()
{
previousState = mouseState;
mouseState = Mouse.GetState(); //Needed to find the most current mouse states.
pos.X = mouseState.X; //Change x pos to mouseX
pos.Y = mouseState.Y; //Change y pos to mouseY
}
//Drawing function to be called in the main Draw function.
static public void LoadContent(ContentManager thecontent)
{
tex = thecontent.Load<Texture2D>("mousey");
}
static public void Draw(SpriteBatch batch) //SpriteBatch to use.
{
batch.Draw(tex, pos, Color.White); //Draw it using the batch.
}
static public bool LBP()
{
if (mouseState.LeftButton == ButtonState.Pressed && previousState.LeftButton == ButtonState.Released)
{
return true;
}
else
{
return false;
}
}
}
}
Tu código funciona bien conmigo. Copypasted en un nuevo proyecto. El 0x0 está arriba a la izquierda, a menos que estés hablando de una precisión de 1 píxel. Tal vez es el spriteBatch ... Lo único que he cambiado. – Pierre