为什么按下左键时我的鼠标位置没有更新?
Why does my mouse position not update when the left button is pressed?
我在 MacOS 上使用 MonoGame 3.6.0.906。我试图让一些鼠标输入代码工作,但我发现了一些奇怪的行为。似乎按下左键时鼠标位置不会更新。这样就无法实现鼠标拖动输入。
为了调查,我在按下鼠标左键、释放鼠标以及每次更新鼠标位置时添加了打印语句。然后我尝试单击并拖动。当左键按下时,鼠标肯定会移动。
这是日志:
...
{X:89 Y:384}
{X:89 Y:385}
{X:90 Y:386}
pressed
released
{X:91 Y:386}
{X:94 Y:386}
{X:96 Y:386}
...
可以看出,当左键按下时,鼠标位置没有改变。
这是为什么?这是 MonoGame 中的错误吗?
重要代码:
MouseState previousMouseState;
protected override void Update(GameTime gameTime)
{
var mouseState = Mouse.GetState();
if (mouseState.LeftButton == ButtonState.Pressed &&
previousMouseState.LeftButton == ButtonState.Released)
{
Console.WriteLine("pressed");
}
if (mouseState.LeftButton == ButtonState.Released &&
previousMouseState.LeftButton == ButtonState.Pressed)
{
Console.WriteLine("released");
}
if (mouseState.Position != previousMouseState.Position)
{
Console.WriteLine(mouseState.Position);
}
previousMouseState = mouseState;
base.Update(gameTime);
}
Update 我刚刚在 MonoMac 应用程序中测试了它并且它工作正常。使用跨平台桌面模板、Xamarin Mac 模板和 Xamarin Classic 模板时会出现该问题。
此问题已在更高版本中修复:https://github.com/MonoGame/MonoGame/issues/5296
我在 MacOS 上使用 MonoGame 3.6.0.906。我试图让一些鼠标输入代码工作,但我发现了一些奇怪的行为。似乎按下左键时鼠标位置不会更新。这样就无法实现鼠标拖动输入。
为了调查,我在按下鼠标左键、释放鼠标以及每次更新鼠标位置时添加了打印语句。然后我尝试单击并拖动。当左键按下时,鼠标肯定会移动。
这是日志:
...
{X:89 Y:384}
{X:89 Y:385}
{X:90 Y:386}
pressed
released
{X:91 Y:386}
{X:94 Y:386}
{X:96 Y:386}
...
可以看出,当左键按下时,鼠标位置没有改变。
这是为什么?这是 MonoGame 中的错误吗?
重要代码:
MouseState previousMouseState;
protected override void Update(GameTime gameTime)
{
var mouseState = Mouse.GetState();
if (mouseState.LeftButton == ButtonState.Pressed &&
previousMouseState.LeftButton == ButtonState.Released)
{
Console.WriteLine("pressed");
}
if (mouseState.LeftButton == ButtonState.Released &&
previousMouseState.LeftButton == ButtonState.Pressed)
{
Console.WriteLine("released");
}
if (mouseState.Position != previousMouseState.Position)
{
Console.WriteLine(mouseState.Position);
}
previousMouseState = mouseState;
base.Update(gameTime);
}
Update 我刚刚在 MonoMac 应用程序中测试了它并且它工作正常。使用跨平台桌面模板、Xamarin Mac 模板和 Xamarin Classic 模板时会出现该问题。
此问题已在更高版本中修复:https://github.com/MonoGame/MonoGame/issues/5296