2012-02-23 91 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