2 Stimmen

Zeichnen von Steinen auf dem Brett für Android Go Spiel App

Ich bin ein Android-Neuling und ich entwickle eine Go-Spiel-Anwendung für Android. Ich habe ein Problem mit dem Zeichnen einzelner Steine auf meinem Brett.
Hier ist meine onDraw()-Methode.

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

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

Und ich habe eine onTouch()-Methode:

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

Der Punkt ist, wenn ich Hintergrundfarbe in meiner Klasse Konstuktor mit dieser Methode festgelegt:

setBackgroundColor(Color.WHITE);

Die Anwendung kann nach einem TouchEvent keinen Stein auf das Brett zeichnen, aber wenn ich keine Hintergrundfarbe einstelle, zeichnet die Anwendung einen Stein perfekt.
P.S. Die Attribute stoneX und stoneY sind korrekt definiert und initialisiert.

2voto

Jave Punkte 31220

Ich weiß nicht, welche Ansicht Sie verwenden, aber ich weiß, dass es einige Probleme gibt, wenn Sie eine SurfaceView mit einem Hintergrund (könnte das auch bei anderen Ansichten der Fall sein?), bei denen der Hintergrund oben gezeichnet wird, so dass man nur einen Hintergrund erhält.

Stattdessen der Einstellung der Hintergrundfarbe mit setBackgroundColor(Color.WHITE) sollten Sie mit Ihrem onDraw() con canvas.drawColor(Color.WHITE) .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X