我正在学习编码,逐步完成我在处理语言上的第一本编码书。这是本书中的一个例子,我想再分析一下:
size(480, 120);
background(0);
smooth();
noStroke();
for (int y = 0; y <= height; y += 40) {
for (int x = 0; x <= width; x += 40) {
fill(255, 140);
ellipse(x, y, 40, 40);
}
}
我想知道是否有任何方法可以将for循环执行减慢为步骤,以便在执行时我可以看到我的眼睛?我相信,在分析循环时,这对我现在和未来都会有很大的帮助。
答案 0 :(得分:0)
您可以使用函数millis()
在每次循环迭代中创建暂停。
它返回自程序启动以来的时间(以毫秒为单位)。使用while循环,您可以创建在所需时间内“空闲”的循环。
编辑: 这应该是这样的:
idletime=millis()+1000; //wait for 1 second
while(idletime>millis())
{}
答案 1 :(得分:0)
因为draw函数重绘场景每秒30-60次而停止绘制窗口是有问题的。
所以只是为了基本理解for
循环,这应该足够了:
int num = 0;
void setup()
{
textSize(12);
//increased size so you can see all numbers and circles
size(480+100, 120+100);
background(0);
smooth();
noStroke();
//stop draw function - try to delete it :)
noLoop();
}
void draw() {
//just move so I dont have to rewrite all coordinates
translate(50, 50);
//old width and height
for (int y = 0; y <= 120; y += 40) {
for (int x = 0; x <= 480; x += 40) {
fill(255, 140);
ellipse(x, y, 40, 40);
text(num, x, y);
num++;
}
}
}