(处理)我如何仅在运行时显示循环的最终输出?

时间:2017-04-16 10:30:06

标签: loops processing



int i = 0;

float r;
float g;
float b;
float t;
float diametre;
float x;
float y;

void setup() {
  size(300,300);
  background(204);
  smooth();
  //noLoop();
}

void draw() {
  
  for (int i = 100; i > 701; i = i+1); {
  
  r = random (255);
  g = random (255);
  b = random (255);
  t = random (255);
  
  diametre = random (30);
  x = random (width);
  y = random (height);
  
  noStroke();
  fill(r,g,b,t);
  ellipseMode(CENTER);
  ellipse(x,y,diametre,diametre);
  
  if (mousePressed) {
    filter (INVERT);
  }
  }
}




大家好,我是第一个大学生第一次参加编程。

现在我被卡住了,因为当我运行我的代码时,它会无限期地一次显示一个圆圈。

但我想设置代码,以便同时制作随机的700个圆圈并显示...以便它成为静态艺术品。

如何解决此问题以及如何更改当前代码?

由于

1 个答案:

答案 0 :(得分:1)

看看这一行:

for (int i = 100; i > 701; i = i+1); {

这有两个原因:

  • 您在i开始100,只要i 大于 701,就会循环播放。这永远不会成真。
  • 最后你有一个;分号,这意味着即使这个循环评估为true,它实际上也不包含任何代码。

要解决您的问题,您需要修复迭代并删除;分号。如果你想循环700次,它将如下所示:

for (int i = 0; i < 700; i = i+1) {

然后,如果您不希望将动画设置为动画,则可以取消注释noLoop()