draw()
例子:
float yPos = 0.0;
void setup() { // setup() 只执行一次
size(200, 200);
frameRate(30);
}
void draw() { // draw() 一直执行,直到程序停止
background(204);
yPos = yPos - 1.0;
if (yPos < 0) {
yPos = height;
}
line(0, yPos, width, yPos);
}
void setup() {
size(200, 200);
}
// 尽管draw为空但仍然需要
// 程序可为其他的输入事件
void draw() { }
void mousePressed() {
line(mouseX, 10, mouseX, 90);
}
描述:在setup()之后直接调用,draw()函数连续执行包含在其块内的代码行,直到程序停止或noLoop()被调用为止。 draw()被自动调用,不应该被显式调用。所有处理程序在draw()结束时更新屏幕。
要停止draw()中的代码连续运行,请使用noLoop(),redraw()和loop()。如果使用noLoop()来停止在draw()中的代码运行,那么redraw()将导致draw()中的代码运行一次,而loop()将导致draw()中的代码恢复运行不断。
draw()在每秒执行的次数可以用frameRate()函数来控制。
通常在draw()循环开头附近调用background()来清除窗口的内容,如上面的第一个例子所示。由于绘制到窗口的像素是累积的,省略background()可能会导致非预期的结果。
每个草图只能有一个draw()函数,如果希望代码连续运行,或者处理诸如mousePressed()之类的事件,则draw()必须存在。有时候,您可能会在程序中调用draw(),如上面的第二个例子所示。
语法:draw()
返回:空
相关:setup()
loop()
noLoop()
redraw()
frameRate()
background()
- 本文固定链接: http://iprocessing.cn/2017/06/30/draw-绘图(循环执行)/
- 转载请注明: 卡萨布兰卡 于 Processing编程艺术 发表