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.
Checking the stable version of the documentation...
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 и связанные свойства.