发布于 2026-01-06 5 阅读
0

p5.j​​s 中的函数简介

p5.j​​s 中的函数简介

p5.j​​s 是一个用于创意编程的 JavaScript 库,其重点是让艺术家、设计师、教育工作者、初学者、研究人员以及所有想要享受艺术创作乐趣的人都能轻松、包容地进行编程。

本文将讨论 p5js 中的两个主要功能:

  • 设置功能和
  • 绘制函数

接下来我们会做一个简单的练习,浅尝辄止地了解一下接下来要讨论的内容。看起来好像很多,对吧?其实很简单,也很短。那么,开始吧!

先决条件

要完成本教程,您只需要具备 JavaScript 的基础知识以及文本编辑器。那么,让我们开始吧!

注意:如果您是 JavaScript 新手,请查看freecodecamp上的这篇免费且全面的教程。

入门

p5js 可以通过多种方式使用,其中最简单的方法之一是使用在线 p5.js 编辑器,点击此处即可访问。以下是编辑器界面的示例:

p5文本编辑器

另一种方法是下载所需文件并将其链接到您的标记中,或者直接将其 CDN 包含在您的标记中,如下所示:

<html>
  <head>
    <script src="https://cdn.jsdelivr.net/npm/p5@1.4.0/lib/p5.js"></script>
  </head>
  <body>
  </body>
</html>
Enter fullscreen mode Exit fullscreen mode

提示:如果您使用的是 VSCode,强烈建议您下载 P5.js扩展。

设置功能

在 p5.js 中,该setup()函数会在程序启动后立即运行。我们使用此函数设置初始环境属性,例如文本颜色、屏幕尺寸和背景颜色,以及加载图像和字体等资源。此外,请注意,您的 p5.js 程序应该只包含一个setup()函数。

绘制功能

draw()函数在上一个函数之后调用setup()。该draw()函数用于执行代码块内的代码,直到程序停止。

让我们来做一些实际操作:

function setup() {
  createCanvas(400, 300);
}

function draw() {
  background(0);

  noStroke();
  fill(255);
  ellipse(200, 150, 75, 75);

}
Enter fullscreen mode Exit fullscreen mode

深入解释

设置函数只会执行一次,也就是草图开始绘制的那一刻。这就是为什么我们要输入参数,createCanvas()因为我们只想做一次这样的操作。你不想多次创建画布,也不想在最后再创建一个画布,那样没有意义。所以,程序开始时的设置过程会创建画布。

绘制操作会一直持续下去,换句话说,就是在一个“循环”中,绘制操作中的代码会一直循环执行。
那么,为什么会这样呢?为什么我们只执行一次,而其他代码却会一直执行呢?当然,这并非软件的固有工作方式。所有软件都有其自身的操作流程,但这种流程对于动画程序和图形程序来说比较常见。让我们来看看代码的输出结果:

静止的

我们只有一个简单的草图,中间画着一个圆。我们可以看到程序的运行流程,但看不到任何变化。然而,我们需要一些能够改变绘制函数内部某些变量的东西。让我们思考一下,如果我们能够用鼠标移动这个圆,会是什么样子?因此,我们可以引入一个变量。变量是一个命名实体,一个用于存储数据的关键字。在这个例子中,我们想要存储一个具有特定值的数据。在 p5 中,我们可以免费获得一些变量,其中一个是 mouseX,另一个是 mouseY。这意味着,当我们在代码中写入 mouseX 时:

function setup() {
  createCanvas(400, 300);
}

function draw() {
  background(0);

  noStroke();
  fill(255);
  ellipse(mouseX, 150, 75, 75);

}

Enter fullscreen mode Exit fullscreen mode

然后我们重新运行:

最终的

我们看到圆圈相对于鼠标方向移动。实际上,绘制循环不断重复执行,持续获取 mouseX 的动态当前值。这只是我们的起点,你可以用系统变量 mouseX 和 mouseY 做什么呢?你可以创建一个简单的绘图程序。我们可以通过编写以下代码来实现:

function setup() {
  createCanvas(400, 300);
background(0);
}

function draw() {
  noStroke();
  fill(255);
  Circle(mouseX, mouseY, 24);

}

Enter fullscreen mode Exit fullscreen mode

以下是我们的输出结果:

最终2

结论:

我们讨论了两个函数:setup 函数和 draw 函数,它们定义了草图的绘制流程。这些函数本质上都是事件。setup 函数在开始时执行,draw 函数则持续执行。我们还可以定义许多其他事件,例如 mousepressed 函数。这是一个等待事件,
它只会在鼠标点击时触发。更多示例,您可以访问 YouTube 上的 coding train 频道(链接在此)。如果您觉得本文有用,请分享。

文章来源:https://dev.to/oyedeletemitope/introduction-to-functions-in-p5-js-38l0