转换坐标系统。
默认情况下,在 2D 模式和 WebGL 模式中心,原点 (0, 0)
位于画布的左上角。 translate()
函数将原点移动到不同的位置。在调用 translate()
后绘制的所有内容将会被移动。有两种方式可以调用 translate()
来设置原点的位置参数。
第一种调用 translate()
的方式是使用数字设置平移的量。前两个参数 x
和 y
设置沿正 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!