如何检查鼠标是否在XNA Framework中单击特定区域

时间:2014-01-26 13:00:23

标签: c# xna-4.0

嗨伙计们!我无法检查鼠标是否单击了特定的“按钮”。

我首先检查(MouseState.Leftbutton)是否“按下”然后我检查我想要的区域。

当我点击“按钮”时效果很好,但是如果我点击按钮附近的某个地方,我按住鼠标按钮保持按下按钮,如果按下按钮就会动作,因为(mouseState.Leftbutton) =按下)并且鼠标在该区域中,两者都立即发生。

如何在按下鼠标左键时检查鼠标坐标?

抱歉英语不好:D

2 个答案:

答案 0 :(得分:0)

我强烈建议您反对“按下”(或点击)事件。请改用MouseDown和MouseUp事件。如果您尝试使用“官方”应用程序中的任何按钮 - 您可以看到它主要是MouseUp事件(或不太常见的MouseDown)

答案 1 :(得分:0)

Mouse.GetState().X 
Mouse.GetState().Y

这些是鼠标位置的坐标。如果您尝试单击某个按钮,请按照此方法操作。

让你的按钮坐标为屏幕上的buttonPostion.X和buttonPosition.Y。

然后,

MouseState mouseClick = Mouse.GetState();
if (Mouse.GetState().X == buttonPosition.X && Mouse.GetState().Y == buttonPosition.Y)
    {
    if (mouseClick.LeftButton == ButtonState.Pressed)
    {
        //Your process when the button is pressed
    }
}

我希望我或多或少地回答了你的问题。