Parallax2D

Наследует: Node2D < CanvasItem < Node < Object

Узел, используемый для создания параллаксного прокручиваемого фона.

Описание

Parallax2D используется для создания эффекта параллакса. Он может двигаться с разной скоростью относительно движения камеры с помощью scroll_scale. Это создает иллюзию глубины в 2D-игре. Если требуется ручная прокрутка, положение Camera2D можно игнорировать с помощью ignore_camera_scroll.

Примечание: Любые изменения положения этого узла, внесенные после того, как он вошел в дерево сцены, будут переопределены, если ignore_camera_scroll равно false или screen_offset изменено.

Обучающие материалы

Свойства

Vector2

autoscroll

Vector2(0, 0)

bool

follow_viewport

true

bool

ignore_camera_scroll

false

Vector2

limit_begin

Vector2(-10000000, -10000000)

Vector2

limit_end

Vector2(10000000, 10000000)

PhysicsInterpolationMode

physics_interpolation_mode

2 (overrides Node)

Vector2

repeat_size

Vector2(0, 0)

int

repeat_times

1

Vector2

screen_offset

Vector2(0, 0)

Vector2

scroll_offset

Vector2(0, 0)

Vector2

scroll_scale

Vector2(1, 1)


Описания свойств

Vector2 autoscroll = Vector2(0, 0) 🔗

Скорость, с которой смещение прокручивается автоматически, в пикселях в секунду.


bool follow_viewport = true 🔗

  • void set_follow_viewport(value: bool)

  • bool get_follow_viewport()

Если true, этот Parallax2D смещен на текущую позицию камеры. Если Parallax2D находится в CanvasLayer отдельно от текущей камеры, может быть желательно сопоставить значение с CanvasLayer.follow_viewport_enabled.


bool ignore_camera_scroll = false 🔗

  • void set_ignore_camera_scroll(value: bool)

  • bool is_ignore_camera_scroll()

Если true, положение Parallax2D не зависит от положения камеры.


Vector2 limit_begin = Vector2(-10000000, -10000000) 🔗

Верхний левый предел для начала прокрутки. Если камера выходит за пределы этого предела, Parallax2D останавливает прокрутку. Должно быть меньше, чем limit_end минус размер области просмотра, чтобы работать.


Vector2 limit_end = Vector2(10000000, 10000000) 🔗

Нижний правый предел для прокрутки до конца. Если камера находится за пределами этого предела, Parallax2D остановит прокрутку. Должно быть больше, чем limit_begin и размер области просмотра, объединенные для работы.


Vector2 repeat_size = Vector2(0, 0) 🔗

Повторяет Texture2D каждого из дочерних узлов этого узла и смещает их на это значение. При прокрутке положение узла зацикливается, создавая иллюзию бесконечного прокручивающегося фона, если значения больше размера экрана. Если ось установлена на 0, Texture2D не будет повторяться.


int repeat_times = 1 🔗

  • void set_repeat_times(value: int)

  • int get_repeat_times()

Переопределяет количество повторений текстуры. Каждая копия текстуры равномерно распространяется от оригинала на repeat_size. Полезно при уменьшении масштаба с помощью камеры.


Vector2 screen_offset = Vector2(0, 0) 🔗

Смещение, используемое для прокрутки этого Parallax2D. Это значение обновляется автоматически, если только ignore_camera_scroll не равен true.


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 полностью останавливает объекты.