windows 10中的单游戏鼠标只有在移动后才会有按压感
本文关键字:移动 鼠标 单游戏 游戏 windows | 更新日期: 2023-09-27 18:07:56
我有monogame (3.4) XAML应用程序的windows商店(VS2012上的Win10)。在游戏的Update()中,我调用附加代码来接收触碰事件。在windows 8/8.1一切工作,但在windows 10我必须按住按钮和移动鼠标几次获得ButtonState。按下-对于最终用户来说,这看起来鼠标根本不起作用。我该如何处理这个bug?
鼠标事件接收代码:
MouseState st = Mouse.GetState();
if (st.LeftButton == ButtonState.Pressed)
{
if (prevMouseState == ButtonState.Released)
{
prevMouseValX = st.X;
prevMouseValY = st.Y;
pushEvent(EVT_POINTER_DOWN, (int)(st.X - mScrBiasX), (int)(st.Y - mScrBiasY), 1, 0);
}
else
{
if (Math.Abs(st.X - prevMouseValX) > 2 || Math.Abs(st.Y - prevMouseValY) > 2)
pushEvent(EVT_POINTER_MOVE, (int)(st.X - mScrBiasX), (int)(st.Y - mScrBiasY), 1, 0);
}
prevMouseState = ButtonState.Pressed;
}
if (st.LeftButton == ButtonState.Released)
{
if (prevMouseState == ButtonState.Pressed)
{
pushEvent(EVT_POINTER_UP, (int)(st.X - mScrBiasX), (int)(st.Y - mScrBiasY), 1, 0);
}
prevMouseState = ButtonState.Released;
}
答案是使用Monogame的最后一个开发版本-从源代码-(并使用VS2013-2015构建win 8.1二进制文件)