我正在使用处理语言来绘制一个随时间增长的矩形。以下代码没有给出任何输出。
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() 函数。
我正在使用处理语言来绘制一个随时间增长的矩形。以下代码没有给出任何输出。
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() 函数。
这是一种适合大多数用途的“自己动手”延迟方法。只需更改传递给延迟方法的值即可更改时间。例如,这大约每 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);
}
我建议使用millis()函数滚动您自己的延迟系统。
看看这个例子。
通过处理,屏幕不会刷新,直到程序流程到达 draw() 结束
尝试以下操作:
void setup()
{
size(900,900);
frameRate(10);
}
int edge = 100;
void draw()
{
edge++;
rect(100,100,edge,edge);
}