Processing 在处理环境中使用delay()

Processing 在处理环境中使用delay(),processing,Processing,我正在使用处理语言绘制一个随着时间增长的矩形。下面的代码没有给出任何输出 void setup() { size(900,900); } void draw() { int edge=100; for(int i=0;i<300;i++) { delay(100); edge++; rect(100,100,edge,edge); } } void setup() { 规模(90090

我正在使用处理语言绘制一个随着时间增长的矩形。下面的代码没有给出任何输出

void setup()
{
    size(900,900);
}
void draw()
{
    int edge=100;
    for(int i=0;i<300;i++)
    {
        delay(100);  
        edge++;      
        rect(100,100,edge,edge);
    }
}
void setup()
{
规模(900900);
}
作废提款()
{
int edge=100;

对于(int i=0;i我建议使用millis()函数滚动您自己的延迟系统

看一看。

这里有一个这样的“滚动你自己的”延迟方法,它适用于大多数目的。只需更改传递到延迟方法中的值即可更改计时。例如,这大约每2秒输出一次“开始”和“结束”

void draw()
{
  System.out.println("start");
  delay(2000);
  System.out.println("end");
  delay(2000);
}

void delay(int delay)
{
  int time = millis();
  while(millis() - time <= delay);
}
void draw()
{
系统输出打印项次(“开始”);
延迟(2000年);
系统输出打印项次(“结束”);
延迟(2000年);
}
无效延迟(整数延迟)
{
整数时间=毫秒();

当(毫秒()-时间进行处理时,直到程序流到达draw()的末尾,屏幕才会刷新
请尝试以下操作:

 void setup()
 {
   size(900,900);
   frameRate(10);
 }
int edge = 100;
void draw()
{ 
     edge++;      
     rect(100,100,edge,edge);
}

本例适用于println(),但不适用于绘制形状-在绘制任何东西之前,整个程序都会延迟-无论延迟在代码中的位置如何。