我正在使用处理语言绘制一个随时间增长的矩形。以下代码没有给出任何输出。
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()函数。
答案 0 :(得分: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);
}
答案 1 :(得分:7)
我建议使用 millis()功能滚动您自己的延迟系统。
查看this example。
答案 2 :(得分:3)
通过处理,在程序流程到达draw()结束之前,屏幕不会刷新 请尝试以下方法:
void setup()
{
size(900,900);
frameRate(10);
}
int edge = 100;
void draw()
{
edge++;
rect(100,100,edge,edge);
}