ParallaxLayer

继承: Node2D < CanvasItem < Node < Object

使用 ParallaxBackground 的视差滚动层。

描述

ParallaxLayer 必须是 ParallaxBackground 节点的子节点。每个 ParallaxLayer 都可以设置为相对于相机移动或 ParallaxBackground.scroll_offset 值。

该节点的子节点将受其滚动偏移量的影响。

注意:当该节点进入场景后,对其位置和比例的任何改变都将被忽略。

属性

Vector2

motion_mirroring

Vector2(0, 0)

Vector2

motion_offset

Vector2(0, 0)

Vector2

motion_scale

Vector2(1, 1)

PhysicsInterpolationMode

physics_interpolation_mode

2 (overrides Node)


属性说明

Vector2 motion_mirroring = Vector2(0, 0) 🔗

ParallaxLayer 重复绘制的间隔,单位为像素。用于创建无限滚动的背景。如果将某个轴设置为 0,那么 ParallaxLayer 就只会在那个方向上绘制一次。

注意:如果想要在重复时让子节点显示的 Texture2D 进行像素级对齐,那么就应当在设置间隔时考虑纹理所使用的缩放。例如你使用 Sprite2D 节点将 600×600 的纹理进行 0.5 的缩放,然后希望纹理横向重复,那么就应该将“Mirroring”设置为 Vector2(300, 0)

注意:如果视口的某个轴比对应重复轴的两倍还要大,那么就无法无限重复,因为时差图层同一时间只能将该图层绘制两份。计算可见窗口时依据的是父级 ParallaxBackground 的位置,而不是图层自身的位置。因此,使用镜像时,请勿改变 ParallaxLayer 相对于父节点的位置。如果需要修改背景的位置,请改为设置 ParallaxBackground 父节点的 CanvasLayer.offset 属性。

注意:虽然这个属性的名叫 Mirroring,是“镜像”的意思,但是并不会对图层做镜像,只会进行重复。


Vector2 motion_offset = Vector2(0, 0) 🔗

该 ParallaxLayer 的偏移量,相对于父 ParallaxBackground 的 ParallaxBackground.scroll_offset


Vector2 motion_scale = Vector2(1, 1) 🔗

复制视差图层的运动。如果一个轴被设置为 0,它将不会滚动。