2014-03-26 54 views
0

我想要做的是創建一個手寫應用程序,它允許一個人按下對象(圓圈)並在設置的路徑上向上/向下移動它。如果用戶達到最低點,則創建另一個圓對象,並創建另一組點以跟蹤等。如何聲明一組物體移動到和移出的點? [Android/Java]

到目前爲止,我有一個onTouch事件,它將我的ImageView對象(圓形)移動到手指位於觸摸屏。

https://gist.github.com/Temptex/9796403

我怎樣才能讓我的ImageView(圓)對象從A點去 - >乙順利使用onTouch事件?

編輯:什麼我問一個畫面例如:http://imgur.com/kjgGcba

回答

0

創建的算法了。

創建一個x整數和y整數的數組,並使用for循環來檢查對象是否高(超出y座標範圍)並檢查y和x是否超出數組範圍。

如果它超出了整數數組的範圍,請將其設置爲當前的x/y數組值。在for循環中。

如果這裏幫助人是代碼:

private final int yCoOrdinate[] = {310, 360, 410}; 
private final int xCoOrdinate[] = {905, 890, 875}; 

// Get finger position 
int x = (int)event.getRawX(); 
int y = (int)event.getRawY(); 

// View x/y co-ordinate on TextView 
coordinates.setText("X = " + x + " - Y = " + y); 

for(int i = 0; i < yCoOrdinate.length; i++) { 

    // If object is to high set it to yCoOrdinate[0]     
    if(y <= yCoOrdinate[0]) { 
     y = yCoOrdinate[0]; 
    } 

    // Checks top left corner of A    
    if(y == yCoOrdinate[0] && x <= xCoOrdinate[0]) { 
     x = xCoOrdinate[0]; 
     Log.d("Coordinate check", "X = " + x + "Y = " + y); 

    // Checks if current x/y position if out of bounds and sets them to i 
    } else if (y <= yCoOrdinate[i] && x <= xCoOrdinate[i]) { 
     y = yCoOrdinate[i]; 
     x = xCoOrdinate[i]; 
     Log.d("Coordinate check", "X = " + x + "Y = " + y); 
    } 
} 

我現在可以控制我的ImageView的範圍。