마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

4개의 포인트점을 각각 움직이고 싶습니다.

0 추천
public DrawView(Context context) {
    
        super(context);
        mContext = context;
        colorballs.add(new ColorBall(context, point1));
        colorballs.add(new ColorBall(context, point2));
        colorballs.add(new ColorBall(context, point3));
        colorballs.add(new ColorBall(context, point4));
}

public boolean onTouchEvent(MotionEvent event) {
        int eventaction = event.getAction();        
        int X = (int) event.getX();
        int Y = (int) event.getY();

        switch (eventaction) {

        case MotionEvent.ACTION_DOWN: 
         //ball 0부터 3까지 체크 하기 위해
         balID = -1;
            
         for (ColorBall ball : colorballs) {   

          paint.setColor(Color.CYAN);                                
               
                balID = ball.getID();
                
                if(balID==0){                 
                 position();                 
                }else if(balID==1){
                 position();                
                }
                else if(balID==2){
                 position();
                }else{
                 position();            
                }                
                    
                invalidate();                      
         }
            break;
public class ColorBall {

 Bitmap bitmap;
 Context mContext;
 Point point;
 int id;
 static int count = 0;

 public ColorBall(Context context, int resourceId, Point point) {
  this.id = count++; 
  bitmap = BitmapFactory.decodeResource(context.getResources(),resourceId);
  mContext = context;
  this.point = point;
 }
 public ColorBall(Context context, Point point) {
  this.id = count++;   
  mContext = context;
  this.point = point;
 }

4개의 꼭지점을 그린후에 각각의 꼭지점의 좌표를 각각 움직이고 싶습니다.

만약에 각각의 꼭지점을 0,1,2,3 에  번호를 주어 적용하려고 하는데 0번만 적용이 되네요.

고수님에게 조언받고 싶습니다.

slee2540 (470 포인트) 님이 2014년 5월 15일 질문

1개의 답변

+1 추천
position(); 이라는 메소드가 움직이도록 명령하는 메소드로 보입니다만

어느 경로로 통해서 왔는지 명확하지 않아서 그런것 같습니다.

position(id);로 변경하여 눌린 버튼에 따라 분기처리가 필요해 보입니다.
dev_아마 (9,750 포인트) 님이 2014년 5월 16일 답변
rectagle이나 비트맵으로 크기에 4개의 꼭지점 포인터에 그리고 나서
그포인트에 갔을때 각각의 id로 구분하려고 하는데 잘 되지가 않아서 조언 부탁드립니다.
이 게시글 상에 소스로는 정확하게 원인 분석이 안됩니다.
position(); 메소드에 문제가 있어보이는것으로 추측 가능할 뿐입니다.
...