在Android Go游戏应用程序板上绘制石头

时间:2012-01-03 09:26:04

标签: android drawing 2d baduk

我是Android新手,我正在为Android开发Go游戏应用程序。 我在我的板上画一块石头有问题 这是我的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后在棋盘上绘制石头,但是当我没有设置背景颜色时,应用程序会完美地绘制石头。
附:属性stoneX,stoneY已正确定义和初始化。

1 个答案:

答案 0 :(得分:2)

我不知道您使用的是哪种视图,但我知道使用带有背景的SurfaceView时存在一些问题(对于其他视图也是如此?),其中背景绘制在顶部所以你只能得到一个背景。

相反使用setBackgroundColor(Color.WHITE)设置背景颜色,您应该使用onDraw()开始canvas.drawColor(Color.WHITE)