如何模拟鼠标加速?

yer*_*chu 2 mouse objective-c acceleration

我写过iPhone - Mac,客户端 - 服务器应用程序,允许通过触摸板使用鼠标.

现在,在每个发送的数据包上,我将光标移动到特定数量的像素(现在为10px).这不准确.当我将灵敏度改为1px时,它会变慢.

我想知道如何增强可用性和模拟鼠标加速.

有任何想法吗?

Jak*_*ger 7

我建议以下程序:

在IPHONE上:

  1. 确定移动的距离xy方向,让我们命名这个dxdy.
  2. 计算相应的总距离:dr = sqrt(dx^2+dy^2).
  3. 确定已经过了多少时间,并计算出运动的速度:v = dr/dt.
  4. 对速度执行一些非线性变换,例如:( v_new = a * v + b * v^2 a=1b=0没有加速开始,然后尝试最佳值)
  5. 计算一个新的距离:dr_new = v_new * dt.
  6. 计算x/ y方向的新距离: dx_new = dx * dr_new / drdy_new = dy * dr_new / dr.
  7. 发送dx_newdy_new到Mac.

关于MAC:

  1. 将鼠标移动dx_new并沿/ 方向移动dy_new像素.xy

注意:这可能会抖动很多,您可以尝试在步骤(3)之后平均速度与前两个或三个测量速度的平均值,如果它抖动太多.