noLoop()
例子:
void setup() {
size(200, 200);
noLoop();
}
void draw() {
line(10, 10, 190, 190);
}
void setup() {
size(200, 200);
}
float x = 0.0;
void draw() {
background(204);
x = x + 0.1;
if (x > width) {
x = 0;
}
line(x, 0, x, height);
}
void mousePressed() {
noLoop();
}
void mouseReleased() {
loop();
}
boolean someMode = false;
void setup() {
noLoop();
}
void draw() {
if (someMode) {
// 执行语句
}
}
void mousePressed() {
someMode = true;
redraw(); // 或者loop()
}
描述:
停止处理从连续执行draw()中的代码。 如果调用了loop(),则draw()中的代码将再次开始运行。 如果在setup()中使用noLoop(),它应该是块内的最后一行。
当使用noLoop()时,不可能在诸如mousePressed()或keyPressed()之类的事件处理函数中操作或访问屏幕。 相反,使用这些函数调用redraw()或loop(),它将运行draw(),它可以正确地更新屏幕。 这意味着当没有调用noLoop()时,不会出现任何图形,并且可能不使用像saveFrame()或loadPixels()这样的函数。
请注意,如果草图被调整大小,即使在指定了noLoop()之后,也将调用redraw()来更新草图。 否则,草图将进入奇数状态,直到调用loop()。
语法:noLoop()
返回: 空
相关:loop()
redraw()
draw()
- 本文固定链接: http://iprocessing.cn/2017/06/30/noloop停止循环/
- 转载请注明: 卡萨布兰卡 于 Processing编程艺术 发表