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.

Line2D

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

A 2D полілін, який може бути фактурним.

Опис

Ця вершина малює 2D полілін, тобто форму, що складається з декількох точок, підключених сегментами. Line2D не є математичним поліліном, тобто сегменти не нескінченно тонкі. Призначений для рендерингу і він може бути кольоровим і необов'язково текстурованим.

Попередження: Деякі конфігурації можуть бути неможливими, такими як дуже гострі кути. У цих ситуаціях вузол використовує логіку зворотного віджиму, щоб виглядати гідно.

Примітка: Line2D намальовується за допомогою сітки 2D.

Посібники

Властивості

bool

antialiased

false

LineCapMode

begin_cap_mode

0

bool

closed

false

Color

default_color

Color(1, 1, 1, 1)

LineCapMode

end_cap_mode

0

Gradient

gradient

LineJointMode

joint_mode

0

PackedVector2Array

points

PackedVector2Array()

int

round_precision

8

float

sharp_limit

2.0

Texture2D

texture

LineTextureMode

texture_mode

0

float

width

10.0

Curve

width_curve

Методи

void

add_point(position: Vector2, index: int = -1)

void

clear_points()

int

get_point_count() const

Vector2

get_point_position(index: int) const

void

remove_point(index: int)

void

set_point_position(index: int, position: Vector2)


Переліки

enum LineJointMode: 🔗

LineJointMode LINE_JOINT_SHARP = 0

Зроблює точність полілінових суглобів, з'єднуючи сторони двох сегментів, продовжуючи їх до тих пір, поки вони не перетинаються. Якщо обертання суглоба занадто велика (на основі sharp_limit), з'єднання спадає на LINE_JOINT_BEVEL для запобігання дуже довгих міток.

LineJointMode LINE_JOINT_BEVEL = 1

Зробіть полілінні з'єднувачі, з'єднуючи сторони двох сегментів з простою лінією.

LineJointMode LINE_JOINT_ROUND = 2

Зробіть закруглені полілінні суглоби, з'єднуючи сторони двох сегментів дугою. Деталі даної дуги залежать від round_precision.


enum LineCapMode: 🔗

LineCapMode LINE_CAP_NONE = 0

Накладки без накипу.

LineCapMode LINE_CAP_BOX = 1

Накладає ковпачок в якості коробки, злегка розширюючи перший/стійкий сегмент.

LineCapMode LINE_CAP_ROUND = 2

Накладає ковпачок як півколо прикріплюється до першого / стійкого сегмента.


enum LineTextureMode: 🔗

LineTextureMode LINE_TEXTURE_NONE = 0

Візьміть ліві пікселів текстури і подає їх по всій полілінії.

LineTextureMode LINE_TEXTURE_TILE = 1

Налийте текстуру по поліліну. CanvasItem.texture_repeat вершини Line2D повинні бути CanvasItem.TEXTURE_REPEAT_ENABLED або CanvasItem.TEXTURE_REPEAT_MIRROR для його роботи належним чином.

LineTextureMode LINE_TEXTURE_STRETCH = 2

Розтягування текстури по поліліну. пам'ятний полотноItem.texture_повтор вершини Line2D повинні бути CanvasItem.TEXTURE_REPEAT_DISABLED для кращих результатів.


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

bool antialiased = false 🔗

  • void set_antialiased(value: bool)

  • bool get_antialiased()

Якщо true, межа ламаної буде згладжена.

Примітка: Line2D не пришвидшується батчінгом при згладжуванні.


LineCapMode begin_cap_mode = 0 🔗

Стиль початку полілінії, якщо closed має значення false.


bool closed = false 🔗

  • void set_closed(value: bool)

  • bool is_closed()

Якщо true і полілінія має більше 2 точок, остання та перша точки будуть з'єднані відрізком.

Примітка: Форма замикаючого сегмента не гарантується як безшовна, якщо вказано width_curve.

Примітка: Спочатку малюється з'єднання між замикаючим сегментом і першим сегментом, і на початку вибірково вибираються gradient та width_curve. Це деталь реалізації, яка може змінитися в майбутній версії.


Color default_color = Color(1, 1, 1, 1) 🔗

  • void set_default_color(value: Color)

  • Color get_default_color()

Колір поліліну. Не буде використовуватися, якщо встановлюється градієнт.


LineCapMode end_cap_mode = 0 🔗

Стиль кінця полілінії, якщо closed має значення false.


Gradient gradient 🔗

Градієнтовно тягнеться по всій лінії від початку до завершення. У випадку, якщо ця властивість встановлена.


LineJointMode joint_mode = 0 🔗

Стиль з'єднань між сегментами полілінії.


PackedVector2Array points = PackedVector2Array() 🔗

  • void set_points(value: PackedVector2Array)

  • PackedVector2Array get_points()

Об’єми поліліну, інтерпретовані у локальних координатах 2D. Сугменти мальуються між сусідніми точками в цьому масиві.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.


int round_precision = 8 🔗

  • void set_round_precision(value: int)

  • int get_round_precision()

Стійкість використовується для округлих суглобів і шапок. Найвищі значення в результаті гладких кутів, але більш затребувані для рендерингу та оновлення.


float sharp_limit = 2.0 🔗

  • void set_sharp_limit(value: float)

  • float get_sharp_limit()

Визначення ліміту мітки поліліну. Нормально, коли joint_mode встановлюється до LINE_JOINT_SHARP, гострі кути попадають назад до використання логіки LINE_JOINT_BEVEL суглобів для запобігання дуже довгих міток. Найвищі значення цього майна – це те, що знизиться до сходового суглоба буде при гострих кутах.


Texture2D texture 🔗

  • void set_texture(value: Texture2D)

  • Texture2D get_texture()

Текстура, що використовується для полілінії. Використовує texture_mode для стилю малювання.


LineTextureMode texture_mode = 0 🔗

Стиль для відображення texture полілінії.


float width = 10.0 🔗

Ширина поліліну.


Curve width_curve 🔗

Крива ширини полілінії. Ширина полілінії по її довжині буде еквівалентна значенню кривої ширини по її області. Крива ширини має бути одиницею Curve.


Описи методів

void add_point(position: Vector2, index: int = -1) 🔗

Додає точку з вказаною position відносно власної позиції поліліну. Якщо немає index, новий пункт буде додано в кінці масиву точок.

Якщо наведено індекс index, новий пункт вставляється до існуючої точки, визначеної індексом index. Індикатори точок після збільшення нової точки на 1. Надані index не повинні перевищувати кількість наявних точок в поліліні. Див. get_point_count().


void clear_points() 🔗

Видаліть всі точки з поліліну, роблячи його порожнім.


int get_point_count() const 🔗

Повертає кількість точок в поліліні.


Vector2 get_point_position(index: int) const 🔗

Повертає позицію точки за індексом index.


void remove_point(index: int) 🔗

Видаляє точку в індексі index з сегментованої лінії.


void set_point_position(index: int, position: Vector2) 🔗

Перезаписує позицію точки у заданому index наданим значенням position.