java - 以编程方式触发 MouseMove java

标签 java

我正在尝试在游戏中注册鼠标移动,并且使用 java.awt.Robot 似乎不会注册,除非我手动移动光标,之后屏幕跳转到所有 mouseMove() 方法调用的位置(我正在尝试模拟平滑的光标移动)应该提前给我带来。

r.setAutoDelay(1);

//moves the cursor pixel by pixel
while ((Math.abs(x - fx) > 0) && (Math.abs(y - fy) > 0))
{
    r.mouseMove(x, y);

    if (x < fx)
        x++;
    else if (x > fx)
        x--;

    r.mouseMove(x, y);

    if (y < fy)
        y++;
    else if (y > fy)
        y--;
}

(x, y) - 当前屏幕坐标 (fx, fy) - 目的地的屏幕坐标(最终坐标)

我正在尝试找到一种更准确地模拟用户输入的方法(主要是研究人为触发MouseEvent),但是我发现的所有示例要么不适用于java,要么使用Robot类,需要一个小程序或解决了另一个问题。

有什么方法可以自由模仿光标移动吗?

最佳答案

使用带延迟的 for 循环:

try {
    // Screen coordinates
    Point p = MouseInfo.getPointerInfo().getLocation(); // get current coords
    double x = 500;
    double y = 200;
    double yC = y / x;

    // Move the cursor
    Robot robot = new Robot();
    robot.mouseMove(0, 0);
    for(int i = (int)p.x; i < x; i++) {
        Thread.sleep(5);
        robot.mouseMove(i, (int) (yC * i));
    }

}
catch (AWTException e) {}
catch (InterruptedException e) {}

关于java - 以编程方式触发 MouseMove java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60768104/

相关文章:

java - 无法查明 Java 中 'Null Pointer Exception' 的原因

java - jasperreports_extension.properties 被 maven 程序集插件覆盖

java - 在保存到 JPA 之前获取身份值

java - 我如何在 Java 中初始化这个变量?

java - 如何在我的 eclipse(juno) 项目中包含依赖项类?

java - 将较大尺寸的对象写入文件时出现 Stackoverflow 错误

java - 如何在 android ant 发布和调试构建期间附加不同的字符串资源文件?

java - 我有什么方法可以覆盖 Java 中的系统属性吗?

java - 使用 apache cxf 从 wsdl 生成客户端时出错

java - getCodeBase() 在 Java Applet 中给出空指针