virtualx-engine-docs/_sources/classes/class_textureprogress.rst.txt

487 lines
24 KiB
Text
Raw Normal View History

2024-10-23 18:41:33 +02:00
:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/3.6/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/3.6/doc/classes/TextureProgress.xml.
.. _class_TextureProgress:
TextureProgress
===============
**Inherits:** :ref:`Range<class_Range>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
Texture-based progress bar. Useful for loading screens and life or stamina bars.
.. rst-class:: classref-introduction-group
Description
-----------
TextureProgress works like :ref:`ProgressBar<class_ProgressBar>`, but uses up to 3 textures instead of Godot's :ref:`Theme<class_Theme>` resource. It can be used to create horizontal, vertical and radial progress bars.
.. rst-class:: classref-reftable-group
Properties
----------
.. table::
:widths: auto
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`fill_mode<class_TextureProgress_property_fill_mode>` | ``0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`MouseFilter<enum_Control_MouseFilter>` | mouse_filter | ``1`` (overrides :ref:`Control<class_Control_property_mouse_filter>`) |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`nine_patch_stretch<class_TextureProgress_property_nine_patch_stretch>` | ``false`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`radial_center_offset<class_TextureProgress_property_radial_center_offset>` | ``Vector2( 0, 0 )`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`radial_fill_degrees<class_TextureProgress_property_radial_fill_degrees>` | ``360.0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`radial_initial_angle<class_TextureProgress_property_radial_initial_angle>` | ``0.0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`stretch_margin_bottom<class_TextureProgress_property_stretch_margin_bottom>` | ``0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`stretch_margin_left<class_TextureProgress_property_stretch_margin_left>` | ``0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`stretch_margin_right<class_TextureProgress_property_stretch_margin_right>` | ``0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`stretch_margin_top<class_TextureProgress_property_stretch_margin_top>` | ``0`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`texture_over<class_TextureProgress_property_texture_over>` | |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`texture_progress<class_TextureProgress_property_texture_progress>` | |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`texture_progress_offset<class_TextureProgress_property_texture_progress_offset>` | ``Vector2( 0, 0 )`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`texture_under<class_TextureProgress_property_texture_under>` | |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`tint_over<class_TextureProgress_property_tint_over>` | ``Color( 1, 1, 1, 1 )`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`tint_progress<class_TextureProgress_property_tint_progress>` | ``Color( 1, 1, 1, 1 )`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`tint_under<class_TextureProgress_property_tint_under>` | ``Color( 1, 1, 1, 1 )`` |
+----------------------------------------------+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
Methods
-------
.. table::
:widths: auto
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_stretch_margin<class_TextureProgress_method_get_stretch_margin>` **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** |const| |
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_stretch_margin<class_TextureProgress_method_set_stretch_margin>` **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)** |
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Enumerations
------------
.. _enum_TextureProgress_FillMode:
.. rst-class:: classref-enumeration
enum **FillMode**:
.. _class_TextureProgress_constant_FILL_LEFT_TO_RIGHT:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_LEFT_TO_RIGHT** = ``0``
The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills from left to right.
.. _class_TextureProgress_constant_FILL_RIGHT_TO_LEFT:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_RIGHT_TO_LEFT** = ``1``
The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills from right to left.
.. _class_TextureProgress_constant_FILL_TOP_TO_BOTTOM:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_TOP_TO_BOTTOM** = ``2``
The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills from top to bottom.
.. _class_TextureProgress_constant_FILL_BOTTOM_TO_TOP:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_BOTTOM_TO_TOP** = ``3``
The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills from bottom to top.
.. _class_TextureProgress_constant_FILL_CLOCKWISE:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_CLOCKWISE** = ``4``
Turns the node into a radial bar. The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills clockwise. See :ref:`radial_center_offset<class_TextureProgress_property_radial_center_offset>`, :ref:`radial_initial_angle<class_TextureProgress_property_radial_initial_angle>` and :ref:`radial_fill_degrees<class_TextureProgress_property_radial_fill_degrees>` to control the way the bar fills up.
.. _class_TextureProgress_constant_FILL_COUNTER_CLOCKWISE:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_COUNTER_CLOCKWISE** = ``5``
Turns the node into a radial bar. The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills counterclockwise. See :ref:`radial_center_offset<class_TextureProgress_property_radial_center_offset>`, :ref:`radial_initial_angle<class_TextureProgress_property_radial_initial_angle>` and :ref:`radial_fill_degrees<class_TextureProgress_property_radial_fill_degrees>` to control the way the bar fills up.
.. _class_TextureProgress_constant_FILL_BILINEAR_LEFT_AND_RIGHT:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_BILINEAR_LEFT_AND_RIGHT** = ``6``
The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills from the center, expanding both towards the left and the right.
.. _class_TextureProgress_constant_FILL_BILINEAR_TOP_AND_BOTTOM:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_BILINEAR_TOP_AND_BOTTOM** = ``7``
The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills from the center, expanding both towards the top and the bottom.
.. _class_TextureProgress_constant_FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE:
.. rst-class:: classref-enumeration-constant
:ref:`FillMode<enum_TextureProgress_FillMode>` **FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE** = ``8``
Turns the node into a radial bar. The :ref:`texture_progress<class_TextureProgress_property_texture_progress>` fills radially from the center, expanding both clockwise and counterclockwise. See :ref:`radial_center_offset<class_TextureProgress_property_radial_center_offset>`, :ref:`radial_initial_angle<class_TextureProgress_property_radial_initial_angle>` and :ref:`radial_fill_degrees<class_TextureProgress_property_radial_fill_degrees>` to control the way the bar fills up.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Property Descriptions
---------------------
.. _class_TextureProgress_property_fill_mode:
.. rst-class:: classref-property
:ref:`int<class_int>` **fill_mode** = ``0``
.. rst-class:: classref-property-setget
- void **set_fill_mode** **(** :ref:`int<class_int>` value **)**
- :ref:`int<class_int>` **get_fill_mode** **(** **)**
The fill direction. See :ref:`FillMode<enum_TextureProgress_FillMode>` for possible values.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_nine_patch_stretch:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **nine_patch_stretch** = ``false``
.. rst-class:: classref-property-setget
- void **set_nine_patch_stretch** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_bool>` **get_nine_patch_stretch** **(** **)**
If ``true``, Godot treats the bar's textures like in :ref:`NinePatchRect<class_NinePatchRect>`. Use the ``stretch_margin_*`` properties like :ref:`stretch_margin_bottom<class_TextureProgress_property_stretch_margin_bottom>` to set up the nine patch's 3×3 grid. When using a radial :ref:`fill_mode<class_TextureProgress_property_fill_mode>`, this setting will enable stretching.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_radial_center_offset:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **radial_center_offset** = ``Vector2( 0, 0 )``
.. rst-class:: classref-property-setget
- void **set_radial_center_offset** **(** :ref:`Vector2<class_Vector2>` value **)**
- :ref:`Vector2<class_Vector2>` **get_radial_center_offset** **(** **)**
Offsets :ref:`texture_progress<class_TextureProgress_property_texture_progress>` if :ref:`fill_mode<class_TextureProgress_property_fill_mode>` is :ref:`FILL_CLOCKWISE<class_TextureProgress_constant_FILL_CLOCKWISE>` or :ref:`FILL_COUNTER_CLOCKWISE<class_TextureProgress_constant_FILL_COUNTER_CLOCKWISE>`.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_radial_fill_degrees:
.. rst-class:: classref-property
:ref:`float<class_float>` **radial_fill_degrees** = ``360.0``
.. rst-class:: classref-property-setget
- void **set_fill_degrees** **(** :ref:`float<class_float>` value **)**
- :ref:`float<class_float>` **get_fill_degrees** **(** **)**
Upper limit for the fill of :ref:`texture_progress<class_TextureProgress_property_texture_progress>` if :ref:`fill_mode<class_TextureProgress_property_fill_mode>` is :ref:`FILL_CLOCKWISE<class_TextureProgress_constant_FILL_CLOCKWISE>` or :ref:`FILL_COUNTER_CLOCKWISE<class_TextureProgress_constant_FILL_COUNTER_CLOCKWISE>`. When the node's ``value`` is equal to its ``max_value``, the texture fills up to this angle.
See :ref:`Range.value<class_Range_property_value>`, :ref:`Range.max_value<class_Range_property_max_value>`.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_radial_initial_angle:
.. rst-class:: classref-property
:ref:`float<class_float>` **radial_initial_angle** = ``0.0``
.. rst-class:: classref-property-setget
- void **set_radial_initial_angle** **(** :ref:`float<class_float>` value **)**
- :ref:`float<class_float>` **get_radial_initial_angle** **(** **)**
Starting angle for the fill of :ref:`texture_progress<class_TextureProgress_property_texture_progress>` if :ref:`fill_mode<class_TextureProgress_property_fill_mode>` is :ref:`FILL_CLOCKWISE<class_TextureProgress_constant_FILL_CLOCKWISE>` or :ref:`FILL_COUNTER_CLOCKWISE<class_TextureProgress_constant_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 :ref:`radial_fill_degrees<class_TextureProgress_property_radial_fill_degrees>`.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_stretch_margin_bottom:
.. rst-class:: classref-property
:ref:`int<class_int>` **stretch_margin_bottom** = ``0``
.. rst-class:: classref-property-setget
- void **set_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)**
- :ref:`int<class_int>` **get_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** |const|
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.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_stretch_margin_left:
.. rst-class:: classref-property
:ref:`int<class_int>` **stretch_margin_left** = ``0``
.. rst-class:: classref-property-setget
- void **set_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)**
- :ref:`int<class_int>` **get_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** |const|
The width of the 9-patch's left column.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_stretch_margin_right:
.. rst-class:: classref-property
:ref:`int<class_int>` **stretch_margin_right** = ``0``
.. rst-class:: classref-property-setget
- void **set_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)**
- :ref:`int<class_int>` **get_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** |const|
The width of the 9-patch's right column.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_stretch_margin_top:
.. rst-class:: classref-property
:ref:`int<class_int>` **stretch_margin_top** = ``0``
.. rst-class:: classref-property-setget
- void **set_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)**
- :ref:`int<class_int>` **get_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** |const|
The height of the 9-patch's top row.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_texture_over:
.. rst-class:: classref-property
:ref:`Texture<class_Texture>` **texture_over**
.. rst-class:: classref-property-setget
- void **set_over_texture** **(** :ref:`Texture<class_Texture>` value **)**
- :ref:`Texture<class_Texture>` **get_over_texture** **(** **)**
:ref:`Texture<class_Texture>` that draws over the progress bar. Use it to add highlights or an upper-frame that hides part of :ref:`texture_progress<class_TextureProgress_property_texture_progress>`.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_texture_progress:
.. rst-class:: classref-property
:ref:`Texture<class_Texture>` **texture_progress**
.. rst-class:: classref-property-setget
- void **set_progress_texture** **(** :ref:`Texture<class_Texture>` value **)**
- :ref:`Texture<class_Texture>` **get_progress_texture** **(** **)**
:ref:`Texture<class_Texture>` that clips based on the node's ``value`` and :ref:`fill_mode<class_TextureProgress_property_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 :ref:`Range<class_Range>`. See :ref:`Range.value<class_Range_property_value>`, :ref:`Range.min_value<class_Range_property_min_value>`, :ref:`Range.max_value<class_Range_property_max_value>`.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_texture_progress_offset:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **texture_progress_offset** = ``Vector2( 0, 0 )``
.. rst-class:: classref-property-setget
- void **set_texture_progress_offset** **(** :ref:`Vector2<class_Vector2>` value **)**
- :ref:`Vector2<class_Vector2>` **get_texture_progress_offset** **(** **)**
The offset of :ref:`texture_progress<class_TextureProgress_property_texture_progress>`. Useful for :ref:`texture_over<class_TextureProgress_property_texture_over>` and :ref:`texture_under<class_TextureProgress_property_texture_under>` with fancy borders, to avoid transparent margins in your progress texture.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_texture_under:
.. rst-class:: classref-property
:ref:`Texture<class_Texture>` **texture_under**
.. rst-class:: classref-property-setget
- void **set_under_texture** **(** :ref:`Texture<class_Texture>` value **)**
- :ref:`Texture<class_Texture>` **get_under_texture** **(** **)**
:ref:`Texture<class_Texture>` that draws under the progress bar. The bar's background.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_tint_over:
.. rst-class:: classref-property
:ref:`Color<class_Color>` **tint_over** = ``Color( 1, 1, 1, 1 )``
.. rst-class:: classref-property-setget
- void **set_tint_over** **(** :ref:`Color<class_Color>` value **)**
- :ref:`Color<class_Color>` **get_tint_over** **(** **)**
Multiplies the color of the bar's ``texture_over`` texture. The effect is similar to :ref:`CanvasItem.modulate<class_CanvasItem_property_modulate>`, except it only affects this specific texture instead of the entire node.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_tint_progress:
.. rst-class:: classref-property
:ref:`Color<class_Color>` **tint_progress** = ``Color( 1, 1, 1, 1 )``
.. rst-class:: classref-property-setget
- void **set_tint_progress** **(** :ref:`Color<class_Color>` value **)**
- :ref:`Color<class_Color>` **get_tint_progress** **(** **)**
Multiplies the color of the bar's ``texture_progress`` texture.
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_property_tint_under:
.. rst-class:: classref-property
:ref:`Color<class_Color>` **tint_under** = ``Color( 1, 1, 1, 1 )``
.. rst-class:: classref-property-setget
- void **set_tint_under** **(** :ref:`Color<class_Color>` value **)**
- :ref:`Color<class_Color>` **get_tint_under** **(** **)**
Multiplies the color of the bar's ``texture_under`` texture.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Method Descriptions
-------------------
.. _class_TextureProgress_method_get_stretch_margin:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** |const|
.. container:: contribute
There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
.. rst-class:: classref-item-separator
----
.. _class_TextureProgress_method_set_stretch_margin:
.. rst-class:: classref-method
void **set_stretch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)**
.. container:: contribute
There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`