아이콘을 세개 만들고 세개의 손가락을 이용해 각각의 아이콘을
움직이려고 하고 있습니다만,
실제로 소스를 만들고 구현을 해보니
두개의 멀티터치만 구현되고 하나는 세개까지는 안되더군요
기기의 문제인지(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;
}
}