2012-01-11 4 views
3

내 게임을 위해 게임 보드를 그린 이미지 뷰가 있습니다. 이미지보기에 상대적인 터치의 X, Y를 가져와야합니다. 예를 들어, 누군가가 맨 왼쪽 픽셀을 건드린 경우 (0,0), 게임 보드가 100,100 보드라고 말하면서 오른쪽으로 터치하면 (50,50) ... 이것을 할 것인가?이미지보기에서 터치 감지

gameView.setOnTouchListener(new OnTouchListener(){ 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      if(event.getAction() == MotionEvent.ACTION_DOWN){ 
      int x = (int) event.getX()/pieceSize; 
      int y = (int) event.getY()/pieceSize; 
      Log.d("Touch Event", "Touch event at "+ x + " " +y); 

      doMove(x, y); 

      Log.d("Move", "The move was " + doMove(x,y)); 
      } 
      gameView.setImageBitmap(Draw(pieceSize)); 

      return true; 
     } 

    }); 

답변

5

당신은 터치 이벤트가보기에 파견 될 때

onTouch(View v, MotionEvent event) 

이 호출 할 수 있습니다.

그리고 이벤트 개체에서 x와 y를 검색하십시오.

물론, 작업중인보기에서 OnTouchListener를 설정하십시오.

0

터치 리스너를 ImageView에 배치 한 경우 event.getX() 및 event.getY()는 ImageView와 관련된 값을 반환해야합니다.