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

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

我该怎么做 ?

4

1 回答 1

0

对我来说似乎很简单。

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

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

我认为你真正想要做的是当他们在鼠标左键按下时移动鼠标,所以你只需要检查两个条件:

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

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

于 2013-10-22T17:00:22.030 回答