有条件地更改圆圈大小会创建多个圆圈

Conditional to change circle size creates multiple circles instead

当按下向上键时,程序增加圆的直径,按下向下键时减小圆的直径。但是,当我按下向下键时,它会在原来的圆圈上创建更小的圆圈,而不是缩小它的大小。

照片:https://i.ibb.co/HgNfCMM/new-circles.png

我怀疑向上键也有同样的作用,但效果并不明显。我该怎么做才能改变现有圆的直径,而不是制作新圆?

int X;

void setup(){
  size(400, 400);
  fill(#FFFF00);
}

void draw() {
  circle(200, 200, X + 30);

  if (keyPressed) {
    if (key == CODED) {
      if (keyCode == UP) {
        if (X <= 300) {
          X = X + 5;
        }
      }
      if (keyCode == DOWN) {
        if (X >= 30) {
          X = X - 5;
        }
      }
    }
  }

}

尝试在 draw() 的顶部添加一个 background() 调用,以便透支之前的圆圈。

int X;
color BLUE = color(64,124,188);

void setup(){
  size(400, 400);
  fill(#FFFF00);
}

void draw() {
  background(BLUE);
  circle(200, 200, X + 30);

  if (keyPressed) {
    if (key == CODED) {
      if (keyCode == UP) {
        if (X <= 300) {
          X = X + 5;
        }
      }
      if (keyCode == DOWN) {
        if (X >= 30) {
          X = X - 5;
        }
      }
    }
  }

}