PathFollow2D

Успадковує: Node2D < CanvasItem < Node < Object

Точка пробовідбірник для Path2D.

Опис

Ця вершина бере свою батьківщину Path2D, і повертає координати точки всередині неї, враховуючи відстань від першої вершини.

Це корисно для виготовлення інших вузлів слідувати шляху, не закодувавши шаблон руху. Для цього вузли повинні бути дітьми цього вузла. Нащадні вузли будуть переходити відповідно при встановленні progress в цій вершині.

Властивості

bool

cubic_interp

true

float

h_offset

0.0

bool

loop

true

float

progress

0.0

float

progress_ratio

0.0

bool

rotates

true

float

v_offset

0.0


Описи властивостей

bool cubic_interp = true 🔗

  • void set_cubic_interpolation(value: bool)

  • bool get_cubic_interpolation()

Якщо true, позиція між двома кешетними точками переповнена кубічно, і лінійно іншим чином.

З точки зору Curve2D Path2D передаються до використання, для швидкого розрахунку. У пункті за запитом офсета розраховується міжпокриттям між двома суміжними пунктами кешування. Це може представити проблему, якщо крива робить різкі повороти, оскільки кеш-пам'ятки не можуть слідувати за крилом досить.

Існує два відповіді на цю проблему: або збільшити кількість кешованих точок і збільшити споживання пам'яті, або зробити кубічний інтерполяція між двома точками за вартістю (легково) повільних розрахунків.


float h_offset = 0.0 🔗

  • void set_h_offset(value: float)

  • float get_h_offset()

Зміщення вершини вздовж вигину.


bool loop = true 🔗

  • void set_loop(value: bool)

  • bool has_loop()

Якщо true, будь-який зсув за межі довжини шляху буде обгорнути, замість зупинки на кінцях. Використовуйте його для циклічних шляхів.


float progress = 0.0 🔗

  • void set_progress(value: float)

  • float get_progress()

Відстань вздовж шляху, в пікселів. Зміна цього значення встановлює позицію вершини до точки в межах шляху.


float progress_ratio = 0.0 🔗

  • void set_progress_ratio(value: float)

  • float get_progress_ratio()

Відстань уздовж шляху як число в діапазоні від 0,0 (для першої вершини) до 1,0 (для останньої). Це лише інший спосіб вираження прогресу в межах шляху, оскільки надане зміщення внутрішньо множиться на довжину шляху.

Його можна встановити або отримати, лише якщо PathFollow2D є дочірнім елементом Path2D, який є частиною дерева сцени, і що цей Path2D має Curve2D ненульової довжини. Інакше спроба встановити це поле виведе помилку, а отримання цього поля поверне 0.0.


bool rotates = true 🔗

  • void set_rotates(value: bool)

  • bool is_rotating()

Якщо true, цей вузол обертається, щоб слідувати шляху, з +X напрямок, що стоїть вперед на шляху.


float v_offset = 0.0 🔗

  • void set_v_offset(value: float)

  • float get_v_offset()

Зміщення вузла перпендикулярно кривій.