Как я могу нарисовать растровое изображение вместо рисовать линии в крестики-нолики в Android? - PullRequest
0 голосов
/ 27 декабря 2011

Я реализовал игру в крестики-нолики так, как она есть из api samples. Из этой игры в крестики-нолики я хотел бы нарисовать растровое изображение вместо линий. Я написал код в следующей последовательности на onTouchEvent:1002 *

Я вставил некоторый код в блок if вместо drawLine.

1 Ответ

1 голос
/ 18 марта 2012

Я не знаю, почему вы рисуете линии в методе onTouchEvent. В методе onTouchEvent вам всего лишь нужно взять сенсорные элементы и нарисовать картинку в методе onDraw.

bitampCross = BitmapFactory.decodeResource(getResources(),R.drawable.cross);
      protected void onDraw(Canvas canvas) {
    Paint background = new Paint();
    background.setColor(Color.WHITE);
    canvas.drawRect(0, 0, getWidth(), getHeight(), background);
    canvas.drawBitmap(backgroundGrid, 10, 0, null);

              if (pos == 1) {
                      canvas.drawBitmap(bitampCross, bitampCross.getWidth() + 20,
                            bitampCross.getHeight() + 15, null);
                             }
                 if (pos == 2) {
                      canvas.drawBitmap(bitmapCircle, bitmapCircle.getWidth() + 20,
                                      bitmapCircle.getHeight() + 15, null);
              }
                    }//end of onDraw
----------

     public boolean onTouchEvent(MotionEvent event) {
     int action = event.getAction();         
     if (action == MotionEvent.ACTION_DOWN) {
       return true;} 
      }else if(action == MotionEvent.ACTION_UP){
       //Do your checks if want to draw the image.
      //For example your board can not take the whole screen 
      //return true or false in this block
     //For example:
      int x = (int) event.getX();
      int y = (int) event.getY();

     if(x<200 && y<200)
        return true;
     else
     return false;
}
invalidate();
return false; 
}//end of onTouchEvente`
...