我需要制作这些数组,因为我试图让鼠标从第一点滑到第二点,第二点到第三点等等......每个滑行应分为25步,需要1000毫秒。
我不知道如何准确启动该方法。
public void glide(int [] x,int [] y) 我甚至怀疑我是否正确设置了此方法。 我真的不知道如何开始这种方法。
答案 0 :(得分:0)
更好的方法是使用多维数组来存储您的值。这是一个例子:
public void glide(int[][] points)
{
// ...
}
int[][] p = new int[25][25];
// assign points
glide(p);
答案 1 :(得分:0)
那个方法将两个数组作为parameters。因此,要使用滑动方法,您应该已经编写了两个数组。在Java中,您可以通过以下方式创建数组:
private int[] x-coords = new int[SIZE] // SIZE is how many elements will be in the array
private in[] y-coords = new int[SIZE] // They should be the same if you're using them as coordinates
然后使用你想说的滑行方法
glide(x-coords,y-coords);
现在,就编写该方法而言......它将取决于很多东西,如果你展示了更多代码,那么这将有所帮助。实质上你想要做的是:
public void glide(int[] x, int[] y) {
// Standard loop to iterate through all the elements of the x array
for(int i=0; i<x.length; i++) {
// This moves the pointer
mouseMove(x[i],y[i]);
// This pauses
try {
Thread.sleep(1000);
} catch(InterruptedException e) {}
}
}
现在所做的就是每1000毫秒移动鼠标(希望以小增量)。你打破坐标的方式并不是最有效的方法(为什么在代码中使用数组而不是使用数学),但它会以这种方式工作。只需要更多的数学而不是计算机。基本上你想要从coorderinates(x [0],y [0])到(x [24],y [24])滑行。所以起点将是数组中的第一个点,终点是数组中的最后几个点。然后,它们之间的每个数字都应移动它需要移动的程度。
How to move a mouse smoothly throughout the screen by using java?中呈现的方式将是最有效的方式。他所做的只是让计算机进行数学计算而不是使用数组,而只是放在起点和终点。您应该阅读并尝试尽可能地理解该代码。