Processing 处理-一次显示一个圆

Processing 处理-一次显示一个圆,processing,geometry,Processing,Geometry,我写了这段代码,在按下鼠标按钮时,可以增加或减少可见的圆的数量,这些圆围绕一个圆等距分布 int nbr_circles = 2; void setup() { size(600, 600); smooth(); background(255); } void draw() { background(255); float cx = width/2.0; float cy = height/2.0; fill(0); //float x, y; /

我写了这段代码,在按下鼠标按钮时,可以增加或减少可见的圆的数量,这些圆围绕一个圆等距分布

int nbr_circles = 2;
void setup() {    
  size(600, 600);

  smooth();
  background(255);
} 

void draw() { 
  background(255);
  float cx = width/2.0;
  float cy = height/2.0;
  fill(0);
  //float x, y; //  
  for (int i = 0; i < nbr_circles; i++) 
  {
    float angle = i * TWO_PI / nbr_circles;
    float x = cx + 110.0 * cos(angle);                
    float y = cy + 110.0 * sin(angle);                
    ellipse(x, y, 20, 20);
  }
}

void mousePressed() {

  if (mouseButton == LEFT) {
    if (nbr_circles < 20)
    nbr_circles = nbr_circles + 1;

  } else if (mouseButton == RIGHT) {
    if (nbr_circles > 2) 
      nbr_circles = nbr_circles - 1;

  }
}

提前谢谢。

退一步说,我真的建议你从小一点开始,而不是每次遇到问题都发帖。看起来你对处理的基本语法有一个基本的误解,所以也许你应该回去做一些教程,直到你对它更熟悉为止。这可能是我能给你的最“正确”的答案,尽管它可能不是你想要的

要回答为什么调整后的代码不起作用的问题,是因为这些语法都没有意义。首先,在函数外有一个if语句,这是无效的。您希望何时执行if语句

其次,在if语句中有椭圆()函数,但椭圆()函数不返回布尔值。你期望它做什么?最后,你希望旋转函数做什么

看起来你试图复制你在互联网上找到的粘贴代码,却没有真正理解它。那是行不通的。你必须退一步,了解基本知识,然后才能期望制作一个真正实现你所希望的功能的程序


<>如果你编辑你的“调整代码”来修复我指出的问题,我会尽力帮助你完成这个过程,但是你真的应该考虑在你找到在互联网上找到的别人的代码之前返回和开始小。

真的,我想做相反的事情,每次只显示一个形状。
int nbr_circles = 2;
int i = 1;
void setup () {
  size (600, 600);
}

void draw () {
  background (255);
  fill (0);
  float cx = width/2.0;
  float cy = height/2.0;
  float angle = i * TWO_PI / nbr_circles;
  float x = cx + 110.0 * cos(angle);                
    float y = cy + 110.0 * sin(angle);                
    ellipse(x, y, 20, 20);
}

if (mouseButton == LEFT) {
  if (ellipse(x,y,20,20))
  rotate (angle);
}