Java Robot类允许移动鼠标,就像移动实际的物理鼠标一样。
但是,如何以人性化(因而不是即时)的方式将鼠标从Point1移动到Point2?阿卡,如何设定运动速度?
如果Robot类没有这样的速度,那么如果只能实时移动鼠标,那么应该使用什么样的“算法”来模仿人类的鼠标移动?它应该以一定的递增速度逐像素地移动鼠标吗?
答案 0 :(得分:4)
这是一个非常好的方法:
考虑鼠标开始的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);
}
希望有帮助...
答案 1 :(得分:0)
Robot类有一个延迟(...)方法,可用于控制点到点的移动。尝试一些不同的算法来确定你喜欢什么。
答案 2 :(得分:0)
重写 Geoff 的回答以便于理解:
for (int i=0; i<=100; i++){
int mov_x = start_x + (end_x - start_x) * i/100;
int mov_y = start_y + (end_y - start_y) * i/100;
robot.mouseMove(mov_x,mov_y);
robot.delay(10);
}