2012-01-03 6 views
2

私はAndroidの初心者です。私はアンドロイド用のGoゲームアプリケーションを開発しています。 私のボードに単石を描くことに問題があります。
ここに私のonDraw()メソッドがあります。Android用のボードに石を描くゲームアプリ

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.属性stoneX、stoneYは正しく定義され、初期化されます。

答えて

2

使用しているビューはわかりませんが、背景がSurfaceViewの場合(他のビューの場合もありますが)、いくつかの問題があることは知っています。背景を取得する。 setBackgroundColor(Color.WHITE)と背景色を設定する

代わり、あなたはあなたのonDraw()canvas.drawColor(Color.WHITE)とを開始する必要があります。

+0

私はSurfaceViewを使用しています。あなたのアドバイスはうまくいきました! P.S.背景イメージを設定するにはどうすればよいですか? –

+0

あなたは歓迎します。質問に答えたものを覚えておいてください:) 背景イメージを使用するにはdrawColorをdrawBitmapに置き換えてそのようにイメージを描画するか、drawableを持っていればdraw()あなたのonDrawから。 – Jave

+0

非常に気高い! –

関連する問題