1

我正在尝试在一种onDraw方法中使用开关盒,以便在按下按钮时更改要绘制的内容。我知道按钮有效并且变量“b1”正在更改,但onDraw不会更改要绘制的内容。我试过在代码的不同部分使用 .invalidate() 并且没有改变任何东西。将onDraw仅使用程序运行时最初加载的情况。我什至尝试在方法中放置一个 update() 方法onDraw()来更改“b1”的值,但它不起作用。

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 语句而不是 switch case,但仍然是同样的问题。

4

0 回答 0