2013-08-12 52 views
0

我近初學者,我已經開發了使用Canvas如何在Android中使用MultiTouch?簡單的方法請

但是在surfaceView一個簡單的2D遊戲,我的遊戲現在需要多點觸控,但我的觸摸方法只得到一個觸摸沒有任何更多

會如果你回答了一個簡單的答案,那就太棒了,因爲我一直在研究這個問題,而且我對此很困惑。

如果它可以更容易,我不會需要超過2個觸動,所以我只需要最多2個觸摸在一起..

下面

是我對我目前的奇異觸摸代碼...

感謝很多:)

public boolean onTouch (View v, MotionEvent event) 
{ 
    x = event.getX(); // with this I am getting the x position of one singular point of where the curse would be 
    y = event.getY(); 

    if (event.getAction() == MotionEvent.ACTION_DOWN) 
    { 
     fingerTouching = true; //this is just for one, how would I do it for all the cursors ? in like a for loop? 
     return true; 
    } 

    if (event.getAction() == MotionEvent.ACTION_UP) 
    { 
     fingerTouching = false; 
     return false; 
    } 

    if (event.getAction() == MotionEvent.ACTION_MOVE) 
    { 
     fingerMoving = true; 
     return true; 
    } 
    return false; 
} 

回答

0

用於檢測多個觸摸未來事件:

MotionEvent.ACTION_POINTER_DOWN 
MotionEvent.ACTION_POINTER_UP 

而這一點,得到的座標:

if (event.getPointerCount()>1) { 
    x[1] = event.getX(1); 
    y[1] = event.getY(1); 
} 
x[0] = event.getX(0); 
y[0] = event.getY(0); 
+0

確定,所以怎麼樣的檢測對於每個指針?我如何知道特定的指針是觸摸還是不觸摸?這是正確的嗎? ---> if(event.getAction()== MotionEvent.ACTION_POINTER_DOWN [1]) { fingerTouching [1] = false; 返回false; } –

相關問題