import android.content.Context;
import android.graphics.Point;
import android.graphics.Rect;
import android.view.Display;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import android.view.View.OnTouchListener;
public class Joy implements OnTouchListener{
 
 private Map map = new Map();
 public float initx = 715;
 public float inity = 395;
 public Point _touchingPoint = new Point(715,395);
 public Point _pointerPosition = new Point(220,150);
 private Boolean _dragging = false;
 public int xplus,yplus;
 
@Override
 public boolean onTouch(View v, MotionEvent event) 
  {
  _touchingPoint.x = (int)event.getX();
  _touchingPoint.y = (int)event.getY();
  Rect asd=new Rect();
  asd.set(650,350,770,470);
  if(asd.contains(_touchingPoint.x, _touchingPoint.y) == true){
    
  update(event);
  }
  return true;
  }
 
 public void update(MotionEvent event ){
  
  if ( event.getAction() == MotionEvent.ACTION_DOWN ){
   _dragging = true;
   
  }else if ( event.getAction() == MotionEvent.ACTION_UP){
   _dragging = false;
  }
  
   if ( _dragging ){
     if( _touchingPoint.x < 690){
      _touchingPoint.x = 690;
     }if ( _touchingPoint.x > 740){
      _touchingPoint.x = 740;
     }if (_touchingPoint.y < 370){
      _touchingPoint.y = 370;
     }if ( _touchingPoint.y > 420){
      _touchingPoint.y = 420;
     }
     double angle = Math.atan2(_touchingPoint.y - inity,_touchingPoint.x - initx)/(Math.PI/180);
     
     _pointerPosition.y += Math.sin(angle*(Math.PI/180))*(_touchingPoint.x/70);
     _pointerPosition.x += Math.cos(angle*(Math.PI/180))*(_touchingPoint.x/70);
     xplus = _pointerPosition.x;
     yplus = _pointerPosition.y;
     
      }else if (!_dragging)
      {
       _touchingPoint.x = (int) initx;
       _touchingPoint.y = (int) inity;
     
      }
  }
}
이미지를움직여주는thead run부분

       //움직일려는 이미지
            canvas.drawBitmap(q, Joy.xplus/4, Joy.yplus/4, null);  
            canvas.drawBitmap(joybg, 670,350, null);
            //터치값제한
            Rect asd=new Rect();
            asd.set(650,350,770,470);
            //조이패드 를 그려주는부분
            if(asd.contains(Joy._touchingPoint.x, Joy._touchingPoint.y) == true){
            
            
             canvas.drawBitmap(joy,Joy._touchingPoint.x - 26, Joy._touchingPoint.y - 28, null);
             }
             else{
              canvas.drawBitmap(joy,690*mapcreate.Scale_X, 370*mapcreate.Scale_Y, null);
             }

 

위소스로 게임조이패드를 만드는중인데 버튼을누르면 이미지가움직이는방식인데

조이패드를 터치하면 이미지가움직이는데

패드를 누르고있는상태에서 터치좌표값이변할때마다 이미지가 움직이는데

(한번누른상태로 가만히있어서 터치좌표값이안변한경우 한번움직이고 안움직임)

좌표값이안변해도 누르고있을시 움직이게 처리할려면 어디부분에 반복처리를해야할까요?