📜  p5.js | setLoop()函数(1)

📅  最后修改于: 2023-12-03 15:33:22.110000             🧑  作者: Mango

p5.js | setLoop()函数

setLoop()函数是p5.js的一个重要函数,可用于控制p5.js程序的执行方式。它可以在p5.js画布中创建一个循环,并将其设置为自动运行。这个循环可以反复运行指定的次数,或者一直运行下去,直到用户结束程序。

语法
setLoop([duration], [callback], [callbackInterval])
  • duration:代表该循环的持续时间,可以是一个数字表示循环的总毫秒数,也可以是字符串 "noLoop" 或 "loopOnce",分别表示该循环无限循环或只循环一次。
  • callback:用于指定循环中的回调函数,即显式指定每一次循环中要执行的函数。
  • callbackInterval:每次回调的时间间隔,以毫秒为单位。
使用示例
function setup() {
  createCanvas(400, 400);
  // loop for 10 times,每次循环运行draw()函数
  setLoop(10, draw);
}

function draw() {
  background(220);
  ellipse(width/2, height/2, 100, 100);
}

上面的代码将创建一个p5.js画布,尺寸为400x400,然后调用 setLoop(10, draw) 函数来执行10次循环,每次都运行 draw() 函数。在 draw() 函数中,它会画一个圆形,并在每次循环中更新画布。

输出结果如下图所示:

p5js-setloop-demo

如果想要设置为无限循环,只需要省略 duration 参数即可,如下所示:

function setup() {
  createCanvas(400, 400); 
  // 无限循环,每次循环运行draw()函数
  setLoop(draw);
}

function draw() {
  background(220);
  ellipse(width/2, height/2, 100, 100);
}
更多说明
  • 如果想要停止这个循环,请使用 noLoop() 函数。
  • loop() 函数可以用于恢复在 noLoop() 函数调用后停止的循环。
  • setFrameRate() 函数可以用于设置动画的速率。

setLoop()函数可与p5.js的其他函数一起使用,以产生复杂的动画效果。它为p5.js编程提供了非常强大的工具,可以帮助用户快速创建互动动画和数据可视化。