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

windows 10中的单游戏鼠标只有在移动后才会有按压感

答案是使用Monogame的最后一个开发版本-从源代码-(并使用VS2013-2015构建win 8.1二进制文件)