아이콘을 세개 만들고 세개의 손가락을 이용해 각각의 아이콘을

 

움직이려고 하고 있습니다만,

 

실제로 소스를 만들고 구현을 해보니

 

두개의 멀티터치만 구현되고 하나는 세개까지는 안되더군요

 

기기의 문제인지(2.2/옵티머스 시크) .. 소스코드의 문제인지...

 

고수님들의 조언부탁드립니다.

 

아래는 소스입니다.

 

public class MultiTouchExampleView extends View {


 int m_x_1;
 int m_y_1;
 
 int m_x_2;
 int m_y_2;
 
 int m_x_3;
 int m_y_3;
 
 public MultiTouchExampleView(Context context) {
  super(context);
 }

 @Override
 protected void onDraw(Canvas canvas) {
  canvas.drawColor(Color.BLACK);
  
  canvas.drawBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.icon),m_x_1-50,m_y_1,null);
  canvas.drawBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.icon),m_x_2,m_y_2,null);
  canvas.drawBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.icon),m_x_3-100,m_y_3,null);
  
 }

 @Override
 public boolean onTouchEvent(MotionEvent event) {
  
  
  for(int i =0; i<event.getPointerCount();i++){
   int _x = (int) event.getX(i);
   int _y = (int) event.getY(i);
   
   if(i ==0){
    m_x_1 = _x;
    m_y_1 = _y;
   }
   else{
    m_x_2 = _x;
    m_y_2 = _y;
    m_x_3 = _x;
    m_y_3 = _y; 
   }
   
  }
  
  if(event.getPointerCount()==1){
   m_x_1 = (int) event.getX();
   m_y_1 = (int) event.getY();
   m_x_2 = (int) event.getX();
   m_y_2 = (int) event.getY();
   m_x_3 = (int) event.getX();
   m_y_3 = (int) event.getY();
  }
  
  
  invalidate();
  return true;
 }
 

}