mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
339 lines
18 KiB
ReStructuredText
339 lines
18 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_Range:
|
||
|
||
Range
|
||
=====
|
||
|
||
**Успадковує:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
||
|
||
**Успадковано від:** :ref:`EditorSpinSlider<class_EditorSpinSlider>`, :ref:`ProgressBar<class_ProgressBar>`, :ref:`ScrollBar<class_ScrollBar>`, :ref:`Slider<class_Slider>`, :ref:`SpinBox<class_SpinBox>`, :ref:`TextureProgressBar<class_TextureProgressBar>`
|
||
|
||
Абстрактний базовий клас контролю, який представляє номер в діапазоні.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Опис
|
||
--------
|
||
|
||
Діапазон (Range) — це абстрактний базовий клас для елементів керування, що представляють число в діапазоні, використовуючи налаштований розмір :ref:`step<class_Range_property_step>` та :ref:`page<class_Range_property_page>`. Див., наприклад, :ref:`ScrollBar<class_ScrollBar>` та :ref:`Slider<class_Slider>` для прикладів вузлів вищого рівня, що використовують Діапазон (Range).
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Властивості
|
||
----------------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+--------------------------------------------------------+----------------------------------------------------------+------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`allow_greater<class_Range_property_allow_greater>` | ``false`` |
|
||
+--------------------------------------------------------+----------------------------------------------------------+------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`allow_lesser<class_Range_property_allow_lesser>` | ``false`` |
|
||
+--------------------------------------------------------+----------------------------------------------------------+------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`exp_edit<class_Range_property_exp_edit>` | ``false`` |
|
||
+--------------------------------------------------------+----------------------------------------------------------+------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`max_value<class_Range_property_max_value>` | ``100.0`` |
|
||
+--------------------------------------------------------+----------------------------------------------------------+------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`min_value<class_Range_property_min_value>` | ``0.0`` |
|
||
+--------------------------------------------------------+----------------------------------------------------------+------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`page<class_Range_property_page>` | ``0.0`` |
|
||
+--------------------------------------------------------+----------------------------------------------------------+------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`ratio<class_Range_property_ratio>` | |
|
||
+--------------------------------------------------------+----------------------------------------------------------+------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`rounded<class_Range_property_rounded>` | ``false`` |
|
||
+--------------------------------------------------------+----------------------------------------------------------+------------------------------------------------------------------------------+
|
||
| |bitfield|\[:ref:`SizeFlags<enum_Control_SizeFlags>`\] | size_flags_vertical | ``0`` (overrides :ref:`Control<class_Control_property_size_flags_vertical>`) |
|
||
+--------------------------------------------------------+----------------------------------------------------------+------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`step<class_Range_property_step>` | ``0.01`` |
|
||
+--------------------------------------------------------+----------------------------------------------------------+------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`value<class_Range_property_value>` | ``0.0`` |
|
||
+--------------------------------------------------------+----------------------------------------------------------+------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методи
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+--------+-------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`_value_changed<class_Range_private_method__value_changed>`\ (\ new_value\: :ref:`float<class_float>`\ ) |virtual| |
|
||
+--------+-------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_value_no_signal<class_Range_method_set_value_no_signal>`\ (\ value\: :ref:`float<class_float>`\ ) |
|
||
+--------+-------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`share<class_Range_method_share>`\ (\ with\: :ref:`Node<class_Node>`\ ) |
|
||
+--------+-------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`unshare<class_Range_method_unshare>`\ (\ ) |
|
||
+--------+-------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Сигнали
|
||
--------------
|
||
|
||
.. _class_Range_signal_changed:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**changed**\ (\ ) :ref:`🔗<class_Range_signal_changed>`
|
||
|
||
Випромінюється, коли :ref:`min_value<class_Range_property_min_value>`, :ref:`max_value<class_Range_property_max_value>`, :ref:`page<class_Range_property_page>`, або :ref:`step<class_Range_property_step>` зміна.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_signal_value_changed:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**value_changed**\ (\ value\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Range_signal_value_changed>`
|
||
|
||
Викликається, коли змінюється ``значення елемента``. При використанні на :ref:`Slider<class_Slider>` це викликається безперервно під час перетягування (можливо, кожного кадру). Якщо ви виконуєте ресурсоємну операцію у функції, пов'язаній з :ref:`value_changed<class_Range_signal_value_changed>`, розгляньте можливість використання *debouncing* :ref:`Timer<class_Timer>` для рідшого виклику функції.
|
||
|
||
\ **Примітка:** На відміну від таких сигналів, як :ref:`LineEdit.text_changed<class_LineEdit_signal_text_changed>`, :ref:`value_changed<class_Range_signal_value_changed>` також викликається, коли ``value`` встановлюється безпосередньо через код.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описи властивостей
|
||
------------------------------------
|
||
|
||
.. _class_Range_property_allow_greater:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **allow_greater** = ``false`` :ref:`🔗<class_Range_property_allow_greater>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_allow_greater**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_greater_allowed**\ (\ )
|
||
|
||
Якщо ``true``, :ref:`value<class_Range_property_value>` може бути більшим за :ref:`max_value<class_Range_property_max_value>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_property_allow_lesser:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **allow_lesser** = ``false`` :ref:`🔗<class_Range_property_allow_lesser>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_allow_lesser**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_lesser_allowed**\ (\ )
|
||
|
||
Якщо ``true``, :ref:`value<class_Range_property_value>` може бути меншим за :ref:`min_value<class_Range_property_min_value>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_property_exp_edit:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **exp_edit** = ``false`` :ref:`🔗<class_Range_property_exp_edit>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_exp_ratio**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_ratio_exp**\ (\ )
|
||
|
||
Якщо ``true``, і :ref:`min_value<class_Range_property_min_value>` більше або дорівнює ``0``, :ref:`value<class_Range_property_value>` буде представлено експоненціально, а не лінійно.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_property_max_value:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **max_value** = ``100.0`` :ref:`🔗<class_Range_property_max_value>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_max**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_max**\ (\ )
|
||
|
||
Максимальне значення. Діапазон обмежується, якщо :ref:`value<class_Range_property_value>` більше, ніж :ref:`max_value<class_Range_property_max_value>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_property_min_value:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **min_value** = ``0.0`` :ref:`🔗<class_Range_property_min_value>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_min**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_min**\ (\ )
|
||
|
||
Мінімальне значення. Діапазон обмежується, якщо :ref:`value<class_Range_property_value>` менше ніж :ref:`min_value<class_Range_property_min_value>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_property_page:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **page** = ``0.0`` :ref:`🔗<class_Range_property_page>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_page**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_page**\ (\ )
|
||
|
||
Розмір сторінки. Використовується переважно для :ref:`ScrollBar<class_ScrollBar>`. Довжина захоплення :ref:`ScrollBar<class_ScrollBar>` — це розмір :ref:`ScrollBar<class_ScrollBar>`, помножений на :ref:`page<class_Range_property_page>` на різницю між :ref:`min_value<class_Range_property_min_value>` і :ref:`max_value<class_Range_property_max_value>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_property_ratio:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **ratio** :ref:`🔗<class_Range_property_ratio>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_as_ratio**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_as_ratio**\ (\ )
|
||
|
||
Значення, відображене між 0 та 1.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_property_rounded:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **rounded** = ``false`` :ref:`🔗<class_Range_property_rounded>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_use_rounded_values**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_using_rounded_values**\ (\ )
|
||
|
||
Якщо ``true``, значення члена :ref:`value<class_Range_property_value>` завжди буде округлено до найближчого цілого числа.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_property_step:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **step** = ``0.01`` :ref:`🔗<class_Range_property_step>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_step**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_step**\ (\ )
|
||
|
||
If greater than ``0.0``, :ref:`value<class_Range_property_value>` will always be rounded to a multiple of this property's value above :ref:`min_value<class_Range_property_min_value>`. For example, if :ref:`min_value<class_Range_property_min_value>` is ``0.1`` and step is ``0.2``, then :ref:`value<class_Range_property_value>` is limited to ``0.1``, ``0.3``, ``0.5``, and so on. If :ref:`rounded<class_Range_property_rounded>` is also ``true``, :ref:`value<class_Range_property_value>` will first be rounded to a multiple of this property's value, then rounded to the nearest integer.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_property_value:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **value** = ``0.0`` :ref:`🔗<class_Range_property_value>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_value**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_value**\ (\ )
|
||
|
||
Поточне значення діапазону. Зміна цієї властивості (навіть через код) призведе до спрацьовування сигналу :ref:`value_changed<class_Range_signal_value_changed>`. Використовуйте :ref:`set_value_no_signal()<class_Range_method_set_value_no_signal>`, якщо хочете цього уникнути.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описи методів
|
||
--------------------------
|
||
|
||
.. _class_Range_private_method__value_changed:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **_value_changed**\ (\ new_value\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_Range_private_method__value_changed>`
|
||
|
||
Викликається, коли значення **Range** змінюється (за тих самих умов, що й :ref:`value_changed<class_Range_signal_value_changed>`).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_method_set_value_no_signal:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_value_no_signal**\ (\ value\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Range_method_set_value_no_signal>`
|
||
|
||
Встановлює поточний значення **Range** до вказаного ``value``, без випромінювання сигналу :ref:`value_changed<class_Range_signal_value_changed>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_method_share:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **share**\ (\ with\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_Range_method_share>`
|
||
|
||
Бінде два **Range** разом з будь-якими діапазонами, які раніше згруповані або з них. При зміні всіх членів діапазону, вона буде ділитися новим значенням з усіма іншими діапазонами у своїй групі.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Range_method_unshare:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **unshare**\ (\ ) :ref:`🔗<class_Range_method_unshare>`
|
||
|
||
Стопи **Range**, щоб поділитися змінами членів з будь-яким іншим.
|
||
|
||
.. |virtual| replace:: :abbr:`virtual (Зазвичай, цей метод перевизначається користувачем, щоб він мав вплив.)`
|
||
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
||
.. |const| replace:: :abbr:`const (Цей метод не має побічних ефектів. Не змінює ніяку змінну екземпляра об'єкта.)`
|
||
.. |vararg| replace:: :abbr:`vararg (Цей метод приймає будь-яке число аргументів після описаних тут.)`
|
||
.. |constructor| replace:: :abbr:`constructor (Цей метод використовується для побудови типів.)`
|
||
.. |static| replace:: :abbr:`static (Цей метод не потребує екземпляра для виклику, його можна викликати безпосередньо за допомогою назви класу.)`
|
||
.. |operator| replace:: :abbr:`operator (Цей метод описує дійсний оператор для взаємодії з цим типом як з лівим операндом.)`
|
||
.. |bitfield| replace:: :abbr:`BitField (Це значення є цілим числом, складеним у вигляді бітової маски з наступних прапорів.)`
|
||
.. |void| replace:: :abbr:`void (Значення не повертається.)`
|