我试图使用Robot类根据我从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());
}
}
}
此处鼠标指针以较小或较大的步长移动,具体取决于手机的倾斜程度。但我希望它移动得更快或更慢。
答案 0 :(得分:1)
您正在寻找的是插值,谷歌可能会有一堆结果。但基本原则是你需要确定哪些位置>强于你的开始和结束位置,并随着时间的推移逐步进行。
或者,看起来您可以简单地缩小输入值。