0

以下のコードでは、ボールを上下にバウンドさせようとしています。問題は、ボールが一列に移動するのではなく、ボール自体が何度も塗りつぶされて線を形成していることです。

ボールが描画された後、ボールを消去する必要があると考えています。

 public void paint(Graphics g) {
            if (bouncing) {
                g.setColor(Color.blue);
                g.drawOval(x, y, 10, 10);
                //erase oval here
            }
        }

注:メソッド paint が何度も呼び出されています

4

1 に答える 1

2

まずは背景全体を塗って……

public void paint(Graphics g)
{
  g.setColor(Color.BLACK);                    // clear the frame ...
  g.fillRect(0, 0, getWidth(), getHeight());

  if (bouncing) 
  {
    g.setColor(Color.blue);
    g.drawOval(x, y, 10, 10);
  }
}
于 2012-05-03T21:53:35.693 に答える