Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

ParallaxBackground

继承: CanvasLayer < Node < Object

用于创建视差滚动背景的节点。

描述

ParallaxBackground 使用一个或多个 ParallaxLayer 子节点来创建视差效果。每个 ParallaxLayer 可以使用 ParallaxLayer.motion_offset 以不同的速度移动。这在 2D 游戏中可以创造一种深度错觉。如果没有与 Camera2D 一起使用,你必须手动计算 scroll_offset

注意:每个 ParallaxBackground 都是在各自的 Viewport 中绘制的,无法在不同 Viewport 之间共享,见 CanvasLayer.custom_viewport。在分屏游戏等使用多个 Viewport 的场景下,你需要每个需要绘制的 Viewport 创建单独的 ParallaxBackground

属性

int

layer

-100 (overrides CanvasLayer)

Vector2

scroll_base_offset

Vector2(0, 0)

Vector2

scroll_base_scale

Vector2(1, 1)

bool

scroll_ignore_camera_zoom

false

Vector2

scroll_limit_begin

Vector2(0, 0)

Vector2

scroll_limit_end

Vector2(0, 0)

Vector2

scroll_offset

Vector2(0, 0)


属性说明

Vector2 scroll_base_offset = Vector2(0, 0)

  • void set_scroll_base_offset ( Vector2 value )

  • Vector2 get_scroll_base_offset ( )

所有 ParallaxLayer 子元素的基本位置偏移。


Vector2 scroll_base_scale = Vector2(1, 1)

  • void set_scroll_base_scale ( Vector2 value )

  • Vector2 get_scroll_base_scale ( )

所有 ParallaxLayer 子元素的基本移动比例。


bool scroll_ignore_camera_zoom = false

  • void set_ignore_camera_zoom ( bool value )

  • bool is_ignore_camera_zoom ( )

true 时,ParallaxLayer 子元素将不受相机缩放级别的影响。


Vector2 scroll_limit_begin = Vector2(0, 0)

开始滚动的左上角限制。如果相机超出这个限制,背景将停止滚动。必须低于 scroll_limit_end 才能工作。


Vector2 scroll_limit_end = Vector2(0, 0)

右下角限制滚动结束。如果相机超出这个限制,背景将停止滚动。必须高于 scroll_limit_begin 才能工作。


Vector2 scroll_offset = Vector2(0, 0)

  • void set_scroll_offset ( Vector2 value )

  • Vector2 get_scroll_offset ( )

视差背景的滚动值。使用 Camera2D 时会自动计算,但也可用于手动管理无相机时的滚动。