2012-01-11 11 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に関連する値を返す必要があります。

関連する問題