2012-03-29 9 views
0

クリックする場所に描画可能なリソースから画像を描画する方法は?私はクリックする位置を取得するonTouchメソッドを持っていますが、この座標でどのように画像を描くことができるのかわかりません。キャンバスと図画

答えて

1

このチュートリアルは便利です:

http://www.helloandroid.com/tutorials/how-use-canvas-your-android-apps-part-1

を開始するためにあなたがそこに見るものを実装します。

次にあなたが画像のXとY座標を更新することができます(チュートリアルではそれらは両方10にハードコードされている):

int mXpos = 10; 
    int mYpos = 10; 

    public void updateXY(int x, int y) { 
     mXpos = x; 
     mYpos = y; 
    } 

    @Override 
    public void onDraw(Canvas canvas) { 

      Paint paint = new Paint(); 


      Bitmap kangoo = BitmapFactory.decodeResource(getResources(), 
          R.drawable.kangoo); 
      canvas.drawColor(Color.BLACK); 
      canvas.drawBitmap(kangoo, mXpos, mYpos, null); 

    } 

あなたのコンストラクタでmXposとmYposをおそらく初期化する必要がありますが、私はしましたこの例では簡単にするためにここで行っています。

その後CanvastutorialさんのonCreateで、あなたのOnTouchListener追加:

mGamePanel = (Panel) this.findViewById(R.id.SurfaceView01); 
    mGamePanel.setOnTouchListener(new OnTouchListener(){ 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      mGamePanel.updateXY((int)event.getX(), (int)event.getY()) 
      return true; 
    }}); 

をOR、あなたのニーズに応じて、あなたはX、YポイントのArrayListのを作成することができますし、で、その後、onTouchに新しいポイントを毎回追加キャンバスのonDrawメソッドを使用すると、各ポイントのcanvas.drawBitmap(kangoo、10、10、null)行が繰り返されます。

関連する問題