Attention: Here be dragons (unstable version)
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Redot.
Checking the stable version of the documentation...
TextureProgressBar
Inherits: Range < Control < CanvasItem < Node < Object
Texture-based progress bar. Useful for loading screens and life or stamina bars.
Description
TextureProgressBar works like ProgressBar, but uses up to 3 textures instead of Redot's Theme resource. It can be used to create horizontal, vertical and radial progress bars.
Properties
|
||
mouse_filter |
|
|
|
||
|
||
|
||
|
||
BitField[SizeFlags] |
size_flags_vertical |
|
step |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Methods
get_stretch_margin(margin: Side) const |
|
void |
set_stretch_margin(margin: Side, value: int) |
Enumerations
enum FillMode: 🔗
FillMode FILL_LEFT_TO_RIGHT = 0
The texture_progress fills from left to right.
FillMode FILL_RIGHT_TO_LEFT = 1
The texture_progress fills from right to left.
FillMode FILL_TOP_TO_BOTTOM = 2
The texture_progress fills from top to bottom.
FillMode FILL_BOTTOM_TO_TOP = 3
The texture_progress fills from bottom to top.
FillMode FILL_CLOCKWISE = 4
Turns the node into a radial bar. The texture_progress fills clockwise. See radial_center_offset, radial_initial_angle and radial_fill_degrees to control the way the bar fills up.
FillMode FILL_COUNTER_CLOCKWISE = 5
Turns the node into a radial bar. The texture_progress fills counterclockwise. See radial_center_offset, radial_initial_angle and radial_fill_degrees to control the way the bar fills up.
FillMode FILL_BILINEAR_LEFT_AND_RIGHT = 6
The texture_progress fills from the center, expanding both towards the left and the right.
FillMode FILL_BILINEAR_TOP_AND_BOTTOM = 7
The texture_progress fills from the center, expanding both towards the top and the bottom.
FillMode FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE = 8
Turns the node into a radial bar. The texture_progress fills radially from the center, expanding both clockwise and counterclockwise. See radial_center_offset, radial_initial_angle and radial_fill_degrees to control the way the bar fills up.
Property Descriptions
The fill direction. See FillMode for possible values.
bool nine_patch_stretch = false
🔗
If true
, Redot treats the bar's textures like in NinePatchRect. Use the stretch_margin_*
properties like stretch_margin_bottom to set up the nine patch's 3×3 grid. When using a radial fill_mode, this setting will enable stretching.
Vector2 radial_center_offset = Vector2(0, 0)
🔗
Offsets texture_progress if fill_mode is FILL_CLOCKWISE, FILL_COUNTER_CLOCKWISE, or FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE.
float radial_fill_degrees = 360.0
🔗
Upper limit for the fill of texture_progress if fill_mode is FILL_CLOCKWISE, FILL_COUNTER_CLOCKWISE, or FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE. When the node's value
is equal to its max_value
, the texture fills up to this angle.
See Range.value, Range.max_value.
float radial_initial_angle = 0.0
🔗
Starting angle for the fill of texture_progress if fill_mode is FILL_CLOCKWISE, FILL_COUNTER_CLOCKWISE, or FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE. When the node's value
is equal to its min_value
, the texture doesn't show up at all. When the value
increases, the texture fills and tends towards radial_fill_degrees.
int stretch_margin_bottom = 0
🔗
The height of the 9-patch's bottom row. A margin of 16 means the 9-slice's bottom corners and side will have a height of 16 pixels. You can set all 4 margin values individually to create panels with non-uniform borders. Only effective if nine_patch_stretch is true
.
The width of the 9-patch's left column. Only effective if nine_patch_stretch is true
.
int stretch_margin_right = 0
🔗
The width of the 9-patch's right column. Only effective if nine_patch_stretch is true
.
The height of the 9-patch's top row. Only effective if nine_patch_stretch is true
.
Texture2D that draws over the progress bar. Use it to add highlights or an upper-frame that hides part of texture_progress.
Texture2D that clips based on the node's value
and fill_mode. As value
increased, the texture fills up. It shows entirely when value
reaches max_value
. It doesn't show at all if value
is equal to min_value
.
The value
property comes from Range. See Range.value, Range.min_value, Range.max_value.
Vector2 texture_progress_offset = Vector2(0, 0)
🔗
The offset of texture_progress. Useful for texture_over and texture_under with fancy borders, to avoid transparent margins in your progress texture.
Texture2D that draws under the progress bar. The bar's background.
Color tint_over = Color(1, 1, 1, 1)
🔗
Multiplies the color of the bar's texture_over texture. The effect is similar to CanvasItem.modulate, except it only affects this specific texture instead of the entire node.
Color tint_progress = Color(1, 1, 1, 1)
🔗
Multiplies the color of the bar's texture_progress texture.
Color tint_under = Color(1, 1, 1, 1)
🔗
Multiplies the color of the bar's texture_under texture.
Method Descriptions
int get_stretch_margin(margin: Side) const 🔗
Returns the stretch margin with the specified index. See stretch_margin_bottom and related properties.
void set_stretch_margin(margin: Side, value: int) 🔗
Sets the stretch margin with the specified index. See stretch_margin_bottom and related properties.