📅  最后修改于: 2023-12-03 15:33:22.562000             🧑  作者: Mango
在 p5.js 中,我们可以使用 rotateZ()
函数来绕 Z 轴旋转画布。
以下是一个简单的示例代码,用于旋转一个矩形:
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
rectMode(CENTER);
rect(200, 200, 100, 50);
// 绕 Z 轴旋转矩形
rotateZ(frameCount * 0.01);
}
在上述代码中,我们首先创建了一个 400*400 的画布。接着,我们在画布中心绘制一个宽度为 100,高度为 50 的矩形。
关键在于 rotateZ(frameCount * 0.01)
。frameCount
是 p5.js 的内置变量,用于获取当前帧数。我们每帧将它乘以 0.01,就可以得到一个随时间变化的角度。这个角度作为参数传递给 rotateZ()
,就可以实现绕 Z 轴旋转画布了。
如果我们希望通过鼠标事件控制旋转,可以这样做:
let angle = 0;
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
rectMode(CENTER);
rect(200, 200, 100, 50);
// 绕 Z 轴旋转矩形
rotateZ(angle);
}
function mouseMoved() {
angle = map(mouseX, 0, width, 0, TWO_PI);
}
在上述代码中,我们定义了一个 angle
变量,用于记录旋转角度。在 draw()
函数中,我们调用 rotateZ(angle)
来旋转矩形。
关键在于 mouseMoved()
函数。该函数是 p5.js 内置的一个事件,用于在鼠标移动时调用。我们使用 map()
函数将鼠标的 X 坐标从 0 到宽度映射到 0 到 2π 上,得到一个角度值,然后将它赋值给 angle
变量。
这样,当鼠标在画布上移动时,矩形就会相应地旋转起来。
在 p5.js 中,我们可以使用 rotateZ()
函数来绕 Z 轴旋转画布。我们可以通过设置固定的角度或响应鼠标事件来控制旋转。