Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Parallax2D
继承: Node2D < CanvasItem < Node < Object
用于创建视差滚动背景的节点。
描述
Parallax2D 可用于创造视差效果。使用 scroll_scale 可以在相机移动时,以不同的相对速度移动,这样就在 2D 游戏中创造出了深度的错觉。如果需要手动滚动,也可以使用 ignore_camera_scroll 忽略 Camera2D 的位置。
注意:如果 ignore_camera_scroll 为 false
或者修改了 screen_offset,那么该节点进入场景树后发生的任何位移都会被覆盖。
教程
属性
|
||
|
||
|
||
|
||
|
||
physics_interpolation_mode |
|
|
|
||
|
||
|
||
|
||
|
属性说明
Vector2 autoscroll = Vector2(0, 0)
🔗
偏移量自动滚动的速度,单位为像素每秒。
如果为 true
,则会根据当前相机的位置对 Parallax2D 进行偏移。如果 Parallax2D 所处的 CanvasLayer 与当前相机不同,也可以使用 CanvasLayer.follow_viewport_enabled 进行匹配。
bool ignore_camera_scroll = false
🔗
如果为 true
,则 Parallax2D 的位置不受相机位置的影响。
Vector2 limit_begin = Vector2(-1e+07, -1e+07)
🔗
开始滚动的左上角限制。如果相机超出这个限制,Parallax2D 将停止滚动。必须低于 limit_end 减去视口大小才能正常工作。
Vector2 limit_end = Vector2(1e+07, 1e+07)
🔗
滚动结束的右下角限制。如果相机超出这个限制,Parallax2D 将停止滚动。必须高于 limit_begin 和视口大小的总和才能工作。
Vector2 repeat_size = Vector2(0, 0)
🔗
根据这个值将每个子节点的 Texture2D 进行重复和偏移。滚动时该节点的位置会发生循环,取值大于屏幕尺寸时就会造成背景无限滚动的错觉。某个轴如果为 0
,则 Texture2D 不会重复。
覆盖纹理重复的次数。每个纹理副本都会相对于前一个往后挪 repeat_size。适用于相机远离的情况。
Vector2 screen_offset = Vector2(0, 0)
🔗
用于滚动 Parallax2D 的偏移量。ignore_camera_scroll 为 false
时这个值会自动更新。
Vector2 scroll_offset = Vector2(0, 0)
🔗
Parallax2D 的偏移量。与 screen_offset 和 Node2D.position 类似,但是不会被覆盖。
注意:如果 repeat_size 大于 0
,则这个值会发生循环。
Vector2 scroll_scale = Vector2(1, 1)
🔗
Parallax2D 最终偏移量的乘数。可用于模拟相对于相机的距离。
例如,1
的值表示滚动速度与相机相同。大于 1
的值表示滚动速度更快,使物体看起来更近。小于 1
的值表示滚动速度更慢,使物体看起来更远,而 0
的值表示物体完全停止。