TextureProgressBar
Наследует: Range < Control < CanvasItem < Node < Object
Текстурная полоса прогресса. Полезно для экранов загрузки и полосок жизни или выносливости.
Описание
TextureProgressBar работает как ProgressBar, но использует до 3 текстур вместо ресурса Godot Theme. Его можно использовать для создания горизонтальных, вертикальных и радиальных индикаторов прогресса.
Свойства
|
||
mouse_filter |
|
|
|
||
|
||
|
||
|
||
BitField[SizeFlags] |
size_flags_vertical |
|
step |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
get_stretch_margin(margin: Side) const |
|
void |
set_stretch_margin(margin: Side, value: int) |
Перечисления
enum FillMode: 🔗
FillMode FILL_LEFT_TO_RIGHT = 0
texture_progress заполняется слева направо.
FillMode FILL_RIGHT_TO_LEFT = 1
texture_progress заполняется справа налево.
FillMode FILL_TOP_TO_BOTTOM = 2
texture_progress заполняется сверху вниз.
FillMode FILL_BOTTOM_TO_TOP = 3
texture_progress заполняется снизу вверх.
FillMode FILL_CLOCKWISE = 4
Превращает узел в радиальный столбец. texture_progress заполняется по часовой стрелке. См. radia_center_offset, radia_initial_angle и radia_fill_degrees для управления способом заполнения столбца.
FillMode FILL_COUNTER_CLOCKWISE = 5
Превращает узел в радиальный столбец. texture_progress заполняется против часовой стрелки. См. radia_center_offset, radia_initial_angle и radia_fill_degrees для управления способом заполнения столбца.
FillMode FILL_BILINEAR_LEFT_AND_RIGHT = 6
texture_progress заполняется от центра, расширяясь как влево, так и вправо.
FillMode FILL_BILINEAR_TOP_AND_BOTTOM = 7
texture_progress заполняется от центра, расширяясь как вверх, так и вниз.
FillMode FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE = 8
Превращает узел в радиальный столбец. texture_progress заполняется радиально от центра, расширяясь как по часовой стрелке, так и против часовой стрелки. См. radia_center_offset, radia_initial_angle и radia_fill_degrees для управления способом заполнения столбца.
Описания свойств
Направление заполнения. См. FillMode для возможных значений.
bool nine_patch_stretch = false 🔗
Если true, Godot обрабатывает текстуры полосы как в NinePatchRect. Используйте свойства stretch_margin_*, такие как stretch_margin_bottom, чтобы настроить сетку 3×3 девяти частей. При использовании радиального fill_mode эта настройка включит растяжение только для texture_progress, тогда как texture_under и texture_over будут обрабатываться как в NinePatchRect.
Vector2 radial_center_offset = Vector2(0, 0) 🔗
Смещает texture_progress, если fill_mode — FILL_CLOCKWISE, FILL_COUNTER_CLOCKWISE или FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE.
Примечание: Эффективный радиальный центр всегда остается в пределах texture_progress. Если вам нужно переместить его за пределы границ текстуры, измените texture_progress, чтобы он содержал дополнительное пустое пространство там, где это необходимо.
float radial_fill_degrees = 360.0 🔗
Верхний предел для заполнения texture_progress, если fill_mode — FILL_CLOCKWISE, FILL_COUNTER_CLOCKWISE или FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE. Когда value узла равно его max_value, текстура заполняется до этого угла.
См. Range.value, Range.max_value.
float radial_initial_angle = 0.0 🔗
Начальный угол для заполнения texture_progress, если fill_mode равен FILL_CLOCKWISE, FILL_COUNTER_CLOCKWISE или FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE. Когда value узла равно его min_value, текстура вообще не отображается. Когда value увеличивается, текстура заполняется и стремится к radial_fill_degrees.
Примечание: radial_initial_angle заключен между 0 и 360 градусами (включительно).
int stretch_margin_bottom = 0 🔗
Высота нижнего ряда 9-частей. Поле 16 означает, что нижние углы и сторона 9-slice будут иметь высоту 16 пикселей. Вы можете задать все 4 значения полей по отдельности, чтобы создать панели с неравномерными границами. Действует только если nine_patch_stretch равен true.
Ширина левого столбца 9-patch. Действует только если nine_patch_stretch равен true.
int stretch_margin_right = 0 🔗
Ширина правого столбца 9-patch. Действует только если nine_patch_stretch равен true.
Высота верхнего ряда 9-patch. Действует только если nine_patch_stretch равен true.
Texture2D, которая рисует поверх полосы прогресса. Используйте ее для добавления бликов или верхней рамки, которая скрывает часть texture_progress.
Texture2D, которая обрезает на основе value и fill_mode узла. По мере увеличения value текстура заполняется. Она отображается полностью, когда value достигает max_value. Она не отображается вообще, если value равно min_value.
Свойство value происходит от Range. См. Range.value, Range.min_value, Range.max_value.
Vector2 texture_progress_offset = Vector2(0, 0) 🔗
Смещение texture_progress. Полезно для texture_over и texture_under с причудливыми границами, чтобы избежать прозрачных полей в вашей текстуре прогресса.
Texture2D рисуется под полосой прогресса. Фон полосы.
Color tint_over = Color(1, 1, 1, 1) 🔗
Умножает цвет текстуры texture_over панели. Эффект похож на CanvasItem.modulate, за исключением того, что он влияет только на эту конкретную текстуру, а не на весь узел.
Color tint_progress = Color(1, 1, 1, 1) 🔗
Умножает цвет текстуры texture_progress полосы.
Color tint_under = Color(1, 1, 1, 1) 🔗
Умножает цвет текстуры texture_under панели.
Описания метода
int get_stretch_margin(margin: Side) const 🔗
Возвращает растягиваемое поле с указанным индексом. См. stretch_margin_bottom и связанные свойства.
void set_stretch_margin(margin: Side, value: int) 🔗
Устанавливает растягиваемое поле с указанным индексом. См. stretch_margin_bottom и связанные свойства.