如何使用 Java 平滑移动鼠标光标



我正在尝试使用机器人类根据我通过蓝牙从Android设备获得的加速度计读数来移动鼠标指针。问题是鼠标光标分步移动。我需要一种方法来平滑地移动它,例如物理拖动指针。这是我到目前为止所拥有的

@Override
public void serialEvent(SerialPortEvent serialPortEvent) {
        if(serialPortEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
            try {
                String inputLine = input.readLine();
                String[] values = inputLine.split(",");
                int x = Integer.parseInt(values[0])*(-1);
                int y = Integer.parseInt(values[1])*(-1);
                mouse.moveMouse(x, y);
                //System.out.println(inputLine);
            } catch (IOException e) {
                System.err.println(e.toString());
            }
        }
}

在这里,鼠标指针以更小或更大的步骤移动,具体取决于手机倾斜的程度。但我希望它移动得更快或更慢。

你正在寻找的东西叫做插值,谷歌上可能有一堆结果。但基础知识是,您需要弄清楚您的开始和结束位置之间的位置,并随着时间的推移移动它们。

或者,看起来您可以简单地缩小输入值。

最新更新