2015-08-29 30 views
0
@Override 
public boolean onTouchEvent(MotionEvent event) { 

    switch(event.getAction()) 
    { 
    case MotionEvent.ACTION_DOWN: 
    { 
     cx=event.getX(); 
     cy=event.getY(); 
     Toast_Display.short_message(getContext(),"action down"+cx+" "+cy); 
     return true; 
    } 
    case MotionEvent.ACTION_MOVE: 
    { 
     distance = Math.sqrt(Math.pow(cx-getX(),2)+Math.pow(cy-getY(),2)); 
     Toast_Display.short_message(getContext(),"action move"+cx+" "+cy+" "+event.getX()+" "+event.getY()); 
     Toast_Display.short_message(getContext(),"action move"+distance); 
     break; 
    } 

    default: 
     return false; 
    } 
    invalidate(); 
    return true; 
} 

在每次計算中獲得相同的距離值,但點的值正在變化。我認爲問題是與距離公式,但不知道如何整理出來試圖找出兩點之間的輻射,但距離值保持不變

+0

當你在ACTION_MOVE內時,你從哪裏獲得'cx,getX,cy,getY'的值? – TDG

+0

cx和cy是全局聲明的,但我沒有創建x的值和爲什麼參考事件...他們應該得到event.getX()和and event.getY() –

回答

0

我想在ACTION_MOVE你應該使用event.getX(),而不是getX()。

+0

非常感謝你先生...現在正在工作:) –