2012-01-03 168 views
2

我是Android新手,我正在開發針對android的Go遊戲應用程序。 我在繪製單板上出現問題。
這是我的onDraw()方法。Android上棋牌遊戲的應用程序Go遊戲應用程序

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; 
} 

的一點是,當我用這個方法在我的課constuctor設置背景色:

setBackgroundColor(Color.WHITE); 

應用可以」在touchEvent之後在棋盤上畫一塊石頭,但是當我沒有設置背景顏色時,應用程序會完美地畫出一塊石頭。
P.S.屬性stoneX,stoneY被正確定義和初始化。

回答

2

我不知道您使用的是什麼View,但我知道在背景中使用SurfaceView時會出現一些問題(其他視圖也可能是這種情況?獲得背景。

setBackgroundColor(Color.WHITE)設置背景顏色,而不是,你應該開始你的onDraw()canvas.drawColor(Color.WHITE)

+0

我正在使用SurfaceView。感謝您的建議!附:我該怎麼做,設置背景圖片? – 2012-01-03 09:51:38

+0

歡迎您,請記住將問題標記爲已回答:) 要使用背景圖像,可以使用drawBitmap替換drawColor並以這種方式繪製圖像,或者如果您有可繪製的,則可以將其稱爲draw()從你的onDraw。 – Jave 2012-01-03 09:52:27

+0

非常感謝! – 2012-01-03 09:54:09