我试图在一段时间内“伸展”一段时间,即1秒钟。
public static int i = 0;
public static void click() {
Robot robot;
try {
robot = new Robot();
for (i = i; i < cps; i++) {
robot.mousePress(InputEvent.BUTTON1_MASK);
Random rn = new Random();
int range = cps - 10 + 1;
int randomNum = rn.nextInt(range) + 10;
robot.delay(randomNum);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
i++;
}
if (i == cps) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
i = 0;
}
} catch (AWTException e) {
e.printStackTrace();
}
}
如您所见,这是“简单”自动点击器的代码。 它在这个计时器内运行。
public static void getClick() {
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
while (enabled) {
click();
}
}
}, 1, 1);
}
以任何方式使这个动作“拉伸”它的动作为1秒。我真的不希望它点击12次(例子),然后暂停1秒钟。如果这12次点击在1秒钟内“拉长”,那就更好了。 是否有人可以帮助我?
答案 0 :(得分:0)
你可以让它睡眠1000毫秒/秒。如果用户设置 cps = 10 ,那么10 Thread.sleep(1000/cps)
会让它在一秒内点击十次。使用 cps = 0.5 ,它会在两秒内点击一次
(有一点差异,因为你的代码需要时间来执行)。而且你不应该在循环中创建随机对象。
Random rn = new Random();
while(true) {
robot.mousePress(InputEvent.BUTTON1_MASK);
int range = cps - 10 + 1;
int randomNum = rn.nextInt(range) + 10;
robot.delay(randomNum);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
i++;
try {
Thread.sleep(1000/cps);
} catch (InterruptedException e) {
e.printStackTrace();
}
}