2

我编写了 iPhone - Mac, Client - Server 应用程序,允许通过触摸板使用鼠标。

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

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

有任何想法吗?

4

1 回答 1

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=1没有b=0加速度,然后试验最佳值)
  5. 计算新距离:dr_new = v_new * dt
  6. x计算/y方向 的新距离:dx_new = dx * dr_new / drdy_new = dy * dr_new / dr
  7. 发送dx_newdy_newMac。

在 MAC 上:

  1. 在/方向上移动鼠标dx_newdy_new像素。xy

注意:这可能会抖动很多,如果抖动很大,您可以尝试将步骤 (3) 之后的速度与前两个或三个测量的速度进行平均。

于 2012-01-07T21:40:03.943 回答