参考 translate()

translate()

转换坐标系统。

默认情况下,在 2D 模式和 WebGL 模式中心,原点 (0, 0) 位于画布的左上角。 translate() 函数将原点移动到不同的位置。在调用 translate() 后绘制的所有内容将会被移动。有两种方式可以调用 translate() 来设置原点的位置参数。

第一种调用 translate() 的方式是使用数字设置平移的量。前两个参数 xy 设置沿正 x 轴和正 y 轴的平移量。例如,调用 translate(20, 30) 将原点沿 x 轴移动 20 个像素,沿 y 轴移动 30 个像素。第三个参数 z 是可选的。它设置沿正 z 轴的平移量。例如,调用 translate(20, 30, 40) 将原点沿 x 轴移动 20 个像素,沿 y 轴移动 30 个像素,沿 z 轴移动 40 个像素。

第二种调用 translate() 的方式是使用 p5.Vector 对象来设置平移的量。例如,调用 translate(myVector) 使用 myVector 的 x、y 和 z 分量来设置沿 x、y 和 z 轴的平移量。这样做与调用 translate(myVector.x, myVector.y, myVector.z) 是相同的。

默认情况下,变换会累积。例如,调用 translate(10, 0) 两次与调用 translate(20, 0) 一次具有相同的效果。可以使用 push()pop() 函数来隔离不同绘制组内的变换。

注意:变换会在绘制循环的开头被重置。在 draw() 函数内调用 translate(10, 0) 不会导致形状持续移动。

示例

语法

translate(x, y, [z])
translate(vector)

参数

x
数字:

沿正 x 轴平移的量。

y
数字:

沿正 y 轴平移的量。

z
数字:

沿正 z 轴平移的量。

vector
p5.Vector:

用于平移的向量。

Notice any errors or typos? Please let us know. Please feel free to edit src/core/transform.js and open a pull request!

相关参考