Processing 背景在处理过程中没有改变

Processing 背景在处理过程中没有改变,processing,Processing,我试图做一个非常简单的任务,如果用户点击屏幕,那么背景颜色应该在每200毫秒后随机改变10次 这是我的密码: void setup() { size(400,400); } void draw() { } void mousePressed() { for(int i = 0; i < 10; i++) { int startTime = millis(); background(int(random(255)), int(random(255)),

我试图做一个非常简单的任务,如果用户点击屏幕,那么背景颜色应该在每200毫秒后随机改变10次

这是我的密码:

void setup()
{
 size(400,400);
}

void draw()
{

}

void mousePressed()
{
  for(int i = 0; i < 10; i++)
  {
      int startTime = millis();
      background(int(random(255)), int(random(255)), int(random(255)));
      while(millis() - startTime < 200){
      }
  }
}
void setup()
{
尺寸(400400);
}
作废提款()
{
}
void mousePressed()
{
对于(int i=0;i<10;i++)
{
int startTime=millis();
背景(int(random(255)),int(random(255)),int(random(255)));
而(毫秒()-startTime<200){
}
}
}
但是,上面的代码只更改背景颜色一次,而不是10次。我不明白我哪里出了问题。

看看这篇文章。。。 处理中的渲染仅在每个绘制周期结束时完成,因此您只能看到最后一种颜色。。。我想尝试一下:

//为了避免在程序开始时启动。。。
布尔值neverClicked=true;
//全球的
int startTime=0;
//柜台
整数倍=0;
无效设置(){
尺寸(400400);
}
作废提款(){
//如果单击并通过半秒和10系列未完成。。。
如果(!neverClicked&&millis()-startTime>500&×<9){
//更改背景
背景(int(random(255)),int(random(255)),int(random(255)));
//重置时钟
开始时间=毫秒();
//数一数有多少次
时代++;
}
}
void mousePressed(){
从不点击=错误;
//重置计时器和计数器
开始时间=毫秒();
次数=0;
//首先要马上换衣服
背景(int(random(255)),int(random(255)),int(random(255)));
}