C# 如何检测鼠标方向的变化?
我试图检测用户何时通过鼠标拖动改变方向。想象一下检测到“震动”。检测左右“抖动”是微不足道的,但这还不足以满足我的需要。加上上上下检测也是微不足道的,它的对角线震动把我搞得一团糟 我在纸上画了这个,我想有8个方向:N,S,W,E,NW,NE,SW,SE 在非对角线上,对我来说,方向的改变只是其他方向中的3个,但在对角线上,是5个 例如,在E上,方向变化仅为NW、W和SW,但在NE上,方向变化为NW、W、SW、S和SE。除非我的想法是错的。。。但对我来说,E->S并不是方向的改变 另一个复杂因素是对角线移动并不总是出现在一个事件中(即使有阈值)C# 如何检测鼠标方向的变化?,c#,.net,C#,.net,我试图检测用户何时通过鼠标拖动改变方向。想象一下检测到“震动”。检测左右“抖动”是微不足道的,但这还不足以满足我的需要。加上上上下检测也是微不足道的,它的对角线震动把我搞得一团糟 我在纸上画了这个,我想有8个方向:N,S,W,E,NW,NE,SW,SE 在非对角线上,对我来说,方向的改变只是其他方向中的3个,但在对角线上,是5个 例如,在E上,方向变化仅为NW、W和SW,但在NE上,方向变化为NW、W、SW、S和SE。除非我的想法是错的。。。但对我来说,E->S并不是方向的改变 另一个复杂因素是
有人对此有什么见解吗?这似乎是一个XY问题。当然你可以检测到鼠标加速,但是你到底想做什么?就像我说的。。。检测鼠标“抖动”事件。如果用户在t时间内改变鼠标方向x次,则视为“抖动”。我建议您计算并平均某段时间内的
jerk
。如果平均值超过某个阈值,则触发事件。然而,我关心的是用户体验的角度。