Рисование камней на доске для приложения Android Go - PullRequest
2 голосов
/ 03 января 2012

Я новичок в Android и разрабатываю игровое приложение для Android.У меня проблема с рисованием одного камня на моей доске.
Вот мой метод onDraw ().

public void onDraw(Canvas canvas) {
   //drawing a board
   //...
   //...

     canvas.drawBitmap(stone_image, stoneX - (stone_image.getWidth() / 2), stoneY
     - (stone_image.getHeight() / 2),paint);
}

И у меня есть метод onTouch ():

public boolean onTouchEvent(MotionEvent event) {
    stoneX = (int) event.getX();
    stoneY = (int) event.getY();
    return true;
}

Дело в том, что когда я устанавливаю цвет фона в конструкторе классов, используя этот метод:

setBackgroundColor(Color.WHITE);

Приложение не может нарисовать камень на доске после touchEvent, но когда я не установилцвет фона, приложение отлично рисует камень.
PS Атрибуты stoneX, stoneY правильно определены и инициализированы.

1 Ответ

2 голосов
/ 03 января 2012

Я не знаю, какой View вы используете, но я знаю, что есть некоторые проблемы при использовании SurfaceView с фоном (может быть и в случае с другими представлениями?), Где фон рисуется сверху, поэтомутолько получить фон.

Вместо установки цвета фона с помощью setBackgroundColor(Color.WHITE), вы должны начать onDraw() с canvas.drawColor(Color.WHITE).

...