我正在尝试使用机器人类根据我通过蓝牙从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());
}
}
}
在这里,鼠标指针以更小或更大的步骤移动,具体取决于手机倾斜的程度。但我希望它移动得更快或更慢。
你正在寻找的东西叫做插值,谷歌上可能有一堆结果。但基础知识是,您需要弄清楚您的开始和结束位置之间的位置,并随着时间的推移移动它们。
或者,看起来您可以简单地缩小输入值。