1

メソッドで switch ケースを使用しようとしているonDrawので、ボタンが押されたときに何を描画するかが変わります。ボタンが機能し、変数「b1」が変更されていることは知っていますが、onDraw描画するものは変更されません。コードのさまざまな部分で .invalidate() を使用してみましたが、何も変更されません。これonDrawは、プログラムの実行時に最初にロードされるケースのみを使用します。onDraw()「b1」の値を変更するメソッド内に update() メソッドを入れてみましたが、うまくいきません。

public void onDraw(Canvas canvas) {
    canvas.drawColor(Color.BLACK);
    update();

    switch (b1){
        case 0:
            canvas.drawBitmap(offtank, 15, 550, null);
            break;
        case 1:
            for (Sprite sprite : sprites) {
                sprite.onDraw(canvas);
            }
            canvas.drawBitmap(ontank, 15, 550, null);
            break;
    }
}

これはおそらく単純なことですが、私は初心者であり、完全に困惑しており、これについてはどこにも何も見つかりません。また、スイッチ ケースの代わりに if ステートメントを使用してみましたが、それでも同じ問題が発生します。

4

0 に答える 0