7

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

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);
    }
}

我怀疑错误地使用了 delay() 函数。

4

3 回答 3

10

这是一种适合大多数用途的“自己动手”延迟方法。只需更改传递给延迟方法的值即可更改时间。例如,这大约每 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);
}
于 2013-12-23T21:26:22.693 回答
7

我建议使用millis()函数滚动您自己的延迟系统。

看看这个例子

于 2013-07-14T09:59:08.190 回答
3

通过处理,屏幕不会刷新,直到程序流程到达 draw() 结束
尝试以下操作:

 void setup()
 {
   size(900,900);
   frameRate(10);
 }
int edge = 100;
void draw()
{ 
     edge++;      
     rect(100,100,edge,edge);
}
于 2014-11-17T23:45:23.983 回答