0

如何从最后一个像素检测鼠标的方向?

例如我的鼠标在 100;100。当我将它移动到 98;100 时,名为Left的布尔值必须为真。之后,当我移动它时,99 Right必须是 true,Left 确实是 false。

没有动作时,两者都是的。

4

1 回答 1

1

好吧,假设您将先前的位置保存在点变量中,调用者 PrevPoint。假设当前鼠标位置存储在称为 PresentPoint 的 Point 中。然后以下将为您提供所需的结果:

 int DiffX = (PresentPoint.X - PrevPoint.X);
 bool Left =  DiffX < 0;
 bool Right = DiffX > 0;
 // The same for Vertical direction, if Y goes bottom up
 int DiffY = (PresentPoint.Y - PrevPoint.Y);
 bool Up   = DiffY > 0;
 bool Down = DiffY < 0;
于 2013-06-11T13:08:39.893 回答