4

Java Robotクラスを使用すると、実際の物理的なマウスを動かしたかのようにマウスを動かすことができます。

しかし、どのようにしてマウスをPoint1からPoint2に人道的に(したがって瞬時にではなく)移動させるのでしょうか。別名、移動速度をどのように設定しますか?

Robotクラスでそのような速度が不可能な場合、つまりマウスを瞬時にしか動かすことができない場合、人間のマウスの動きを模倣するためにどのような「アルゴリズム」を使用する必要がありますか?マウスを特定の増分速度でピクセルごとに移動する必要がありますか?

4

3 に答える 3

6

ここにかなり良い方法があります:

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);
}

お役に立てば幸いです...

于 2011-05-27T04:00:52.190 に答える
1

Robotクラスには、ポイントからポイントへの移動を制御するために使用できるdelay(...)メソッドがあります。いくつかの異なるアルゴリズムを試して、好きなものを決定してください。

于 2011-03-17T15:04:53.160 に答える
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);
}
于 2021-02-22T08:35:23.467 に答える