2012-02-23 93 views
-1

我需要制作这些阵列,因为我试图让鼠标从第一个点滑动到第二个,第二个到第三个等......每个滑翔应该分成25个步骤,需要1000毫秒。如何写一个x坐标数组和一个y坐标数组?

我不知道如何准确地启动该方法。我甚至怀疑我是否正确地设置了这个方法。我不知道如何设置这个方法。 我真的不知道如何开始这种方法。

回答

0

更好的方法是使用多维数组来存储您的值。下面是一个例子:

public void glide(int[][] points) 
{ 
    // ... 
} 

int[][] p = new int[25][25]; 
// assign points 
glide(p); 
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?中呈现的方式将是最有效的方式。他所做的只是让计算机做数学计算,而不是使用数组,他只是放在起点和终点。您应该仔细阅读并尽可能了解该代码。

+0

好的谢谢你的开始,但你会如何移动鼠标到xy corrdinates – user1205958 2012-02-23 06:26:05

+0

这取决于很多事情。这个问题根本没有描述这种情况。你应该真的让用户的指针移动?你只是在屏幕上移动图像?你应该使用哪些Java库(我认为这是一种分配)我需要更多的细节才能正确回答 – CaldwellYSR 2012-02-23 06:31:10

+0

好吧我正在制作一个机器人课程,我不认为这是一个客户端程序。你只需要得到一些坐标(x,y),然后让鼠标滑到第一个点然后到第二个点。 Eac滑行应该分解为25个步骤,它应该需要1000毫秒。这就是我需要的。对不起,如果你仍然不明白,但谢谢你试图帮助我。我真的需要帮助。 – user1205958 2012-02-23 06:37:33