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 Godot's Theme resource. It can be used to create horizontal, vertical and radial progress bars.
Properties
0 | ||
mouse_filter | 1 (overrides Control) | |
false | ||
Vector2(0, 0) | ||
360.0 | ||
0.0 | ||
BitField[SizeFlags] | size_flags_vertical | 1 (overrides Control) |
step | 1.0 (overrides Range) | |
0 | ||
0 | ||
0 | ||
0 | ||
Vector2(0, 0) | ||
Color(1, 1, 1, 1) | ||
Color(1, 1, 1, 1) | ||
Color(1, 1, 1, 1) |
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
, Godot 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
.
int stretch_margin_left = 0 🔗
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
.
int stretch_margin_top = 0 🔗
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 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.