如何检查鼠标左键是否一直按下而不是仅点击一次?

时间:2013-10-22 16:54:03

标签: c# xna xna-4.0

bool WasMouseLeftClick()
{
    return (previousState.LeftButton == ButtonState.Pressed) && (currentState.LeftButton == ButtonState.Released);
}

此代码返回鼠标左键单击一下。 但是我希望它在不离开按钮的情况下按下鼠标左键然后向上,向下,向左,向右移动鼠标时返回。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

对我来说似乎很简单。

bool WasMouseLeftDown()
{
    return currentState.LeftButton == ButtonState.Pressed;
}

这只是一个bool,如果在当前帧中按住鼠标左键,则返回true。

我认为您真正想做的是当鼠标左键移动时移动鼠标时,您只需要检查两个条件:

if (WasMouseMoved() && WasMouseLeftDown())
{
    // do something
}

我假设您已经有代码检查鼠标是否移动(将旧位置与新位置进行比较)。