Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何模拟鼠标加速?_Objective C_Mouse_Acceleration - Fatal编程技术网

Objective c 如何模拟鼠标加速?

Objective c 如何模拟鼠标加速?,objective-c,mouse,acceleration,Objective C,Mouse,Acceleration,我已经编写了iPhone-Mac客户端-服务器应用程序,允许通过触摸板使用鼠标 现在,在发送的每个数据包上,我将光标移动特定数量的像素(现在为10px)。 这不准确。当我将灵敏度更改为1px时,它会变慢 我想知道如何提高可用性和模拟鼠标加速 有什么想法吗?我建议采取以下步骤: 在IPHONE上: 确定沿x和y方向移动的距离,我们将其命名为dx和dy 计算对应的总距离:dr=sqrt(dx^2+dy^2) 确定经过了多少时间,并计算移动速度:v=dr/dt 对速度执行一些非线性变换,例如:v_ne

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

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

我想知道如何提高可用性和模拟鼠标加速


有什么想法吗?

我建议采取以下步骤:

在IPHONE上:

  • 确定沿
    x
    y
    方向移动的距离,我们将其命名为
    dx
    dy
  • 计算对应的总距离:
    dr=sqrt(dx^2+dy^2)
  • 确定经过了多少时间,并计算移动速度:
    v=dr/dt
  • 对速度执行一些非线性变换,例如:
    v_new=a*v+b*v^2
    (从
    a=1
    b=0
    开始,无加速度,然后试验最佳值)
  • 计算新距离:
    dr_new=v_new*dt
  • x
    /
    y
    方向计算新距离:
    dx_new=dx*dr_new/dr
    dy_new=dy*dr_new/dr
  • dx_new
    dy_new
    发送到Mac
  • 在MAC上:

  • x
    /
    y
    方向的
    dx\u new
    dy\u new
    像素移动鼠标

  • 注意:这可能会产生很大的抖动,如果抖动过大,您可以尝试将步骤(3)后的速度与前两个或三个测量的速度平均起来。

    据我所知,会有一点波动。若我测量距离和速度-数据包将在特定动作后发送(直到移动结束?)。鼠标必须与触摸屏上的手指同时移动。以使其清晰。我存储以前触摸的X和Y位置和时间,并使用当前触摸X、Y和当前触摸时间进行计算。它工作得很好。