TextureProgress¶
Inherits: Range < Control < CanvasItem < Node < Object
Texture-based progress bar. Useful for loading screens and life or stamina bars.
Description¶
TextureProgress 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¶
int | fill_mode | 0 |
MouseFilter | mouse_filter | 1 (parent override) |
bool | nine_patch_stretch | false |
Vector2 | radial_center_offset | Vector2( 0, 0 ) |
float | radial_fill_degrees | 360.0 |
float | radial_initial_angle | 0.0 |
int | stretch_margin_bottom | 0 |
int | stretch_margin_left | 0 |
int | stretch_margin_right | 0 |
int | stretch_margin_top | 0 |
Texture | texture_over | |
Texture | texture_progress | |
Texture | texture_under | |
Color | tint_over | Color( 1, 1, 1, 1 ) |
Color | tint_progress | Color( 1, 1, 1, 1 ) |
Color | tint_under | Color( 1, 1, 1, 1 ) |
Methods¶
int | get_stretch_margin ( Margin margin ) const |
void | set_stretch_margin ( Margin margin, int value ) |
Enumerations¶
- FILL_LEFT_TO_RIGHT = 0 — The texture_progress fills from left to right.
- FILL_RIGHT_TO_LEFT = 1 — The texture_progress fills from right to left.
- FILL_TOP_TO_BOTTOM = 2 — The texture_progress fills from top to bottom.
- FILL_BOTTOM_TO_TOP = 3 — The texture_progress fills from bottom to top.
- 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.
- 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.
- FILL_BILINEAR_LEFT_AND_RIGHT = 6 — The texture_progress fills from the center, expanding both towards the left and the right.
- FILL_BILINEAR_TOP_AND_BOTTOM = 7 — The texture_progress fills from the center, expanding both towards the top and the bottom.
- 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¶
- int fill_mode
Default | 0 |
Setter | set_fill_mode(value) |
Getter | get_fill_mode() |
The fill direction. See FillMode for possible values.
- bool nine_patch_stretch
Default | false |
Setter | set_nine_patch_stretch(value) |
Getter | get_nine_patch_stretch() |
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
Default | Vector2( 0, 0 ) |
Setter | set_radial_center_offset(value) |
Getter | get_radial_center_offset() |
Offsets texture_progress if fill_mode is FILL_CLOCKWISE or FILL_COUNTER_CLOCKWISE.
- float radial_fill_degrees
Default | 360.0 |
Setter | set_fill_degrees(value) |
Getter | get_fill_degrees() |
Upper limit for the fill of texture_progress if fill_mode is FILL_CLOCKWISE or FILL_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
Default | 0.0 |
Setter | set_radial_initial_angle(value) |
Getter | get_radial_initial_angle() |
Starting angle for the fill of texture_progress if fill_mode is FILL_CLOCKWISE or FILL_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
Default | 0 |
Setter | set_stretch_margin(value) |
Getter | get_stretch_margin() |
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.
- int stretch_margin_left
Default | 0 |
Setter | set_stretch_margin(value) |
Getter | get_stretch_margin() |
The width of the 9-patch’s left column.
- int stretch_margin_right
Default | 0 |
Setter | set_stretch_margin(value) |
Getter | get_stretch_margin() |
The width of the 9-patch’s right column.
- int stretch_margin_top
Default | 0 |
Setter | set_stretch_margin(value) |
Getter | get_stretch_margin() |
The height of the 9-patch’s top row.
- Texture texture_over
Setter | set_over_texture(value) |
Getter | get_over_texture() |
Texture that draws over the progress bar. Use it to add highlights or an upper-frame that hides part of texture_progress.
- Texture texture_progress
Setter | set_progress_texture(value) |
Getter | get_progress_texture() |
Texture 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.
- Texture texture_under
Setter | set_under_texture(value) |
Getter | get_under_texture() |
Texture that draws under the progress bar. The bar’s background.
- Color tint_over
Default | Color( 1, 1, 1, 1 ) |
Setter | set_tint_over(value) |
Getter | get_tint_over() |
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
Default | Color( 1, 1, 1, 1 ) |
Setter | set_tint_progress(value) |
Getter | get_tint_progress() |
Multiplies the color of the bar’s texture_progress
texture.
- Color tint_under
Default | Color( 1, 1, 1, 1 ) |
Setter | set_tint_under(value) |
Getter | get_tint_under() |
Multiplies the color of the bar’s texture_under
texture.