Перемещение мыши Java-робота: настройка скорости? - PullRequest
3 голосов
/ 17 марта 2011

Класс Java Robot позволяет перемещать мышь, как если бы физическая мышь была перемещена.

Однако как можно перемещать мышь из Point1 в Point2 гуманно (и, следовательно, не мгновенно)?Ака, как можно установить скорость движения?

Если с классом Robot такая скорость невозможна, то есть, если мышь можно перемещать только мгновенно, какой «алгоритм» следует использовать для имитациидвижение мышью человека?Должно ли оно перемещать мышь за пикселем с определенной скоростью увеличения?

Ответы [ 2 ]

5 голосов
/ 27 мая 2011

Вот очень хороший способ:

Рассмотрим 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);
}

Надеюсь, это поможет ...

0 голосов
/ 17 марта 2011

В классе Robot есть метод delay (...), который вы можете использовать для управления перемещением из точки в точку. Попробуйте несколько разных алгоритмов, чтобы определить, что вам нравится.

...