Java Robot鼠标移动:设置速度?

Tom*_*Tom 3 java mouse performance velocity awtrobot

Java Robot类允许您移动鼠标,就像移动实际的物理鼠标一样。

但是,如何以人性化的方式(因此不是即时的)将鼠标从Point1移到Point2?又名,如何设置运动速度?

如果用Robot类无法达到这样的速度,那么如果鼠标只能瞬时移动,那么应该使用哪种“算法”来模仿人类的鼠标运动?是否应该以一定的增量逐像素移动鼠标?

小智 5

这是一个很好的方法:

考虑start_x一下鼠标的起点和end_x终点。相同的y

for (int i=0; i<100; i++){  
    int mov_x = ((end_x * i)/100) + (start_x*(100-i)/100);
    int mov_y = ((end_y * i)/100) + (start_y*(100-i)/100);
    robot.mouseMove(mov_x,mov_y);
    robot.delay(10);
}
Run Code Online (Sandbox Code Playgroud)

希望有帮助...

  • 将除法移出括号使其更快,也更精确。上面写的算法是从 (1, 1) 到 (1, 1) 再到 (0, 0)。还有一个问题:它只完成了 99%。 (2认同)