Files
godot-docs-l10n/classes/ru/class_texturebutton.rst

315 lines
18 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_TextureButton:
TextureButton
=============
**Наследует:** :ref:`BaseButton<class_BaseButton>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
Кнопка на основе текстуры. Поддерживает состояния «Нажато», «Наведено», «Отключено» и «Сфокусировано».
.. rst-class:: classref-introduction-group
Описание
----------------
**TextureButton** имеет ту же функциональность, что и :ref:`Button<class_Button>`, за исключением того, что он использует спрайты вместо ресурса Godot :ref:`Theme<class_Theme>`. Он быстрее в создании, но не поддерживает локализацию, как более сложные :ref:`Control<class_Control>`.
См. также :ref:`BaseButton<class_BaseButton>`, который содержит общие свойства и методы, связанные с этим узлом.
\ **Примечание:** Рекомендуется установить текстуру для «нормального» состояния (:ref:`texture_normal<class_TextureButton_property_texture_normal>`). Если :ref:`texture_normal<class_TextureButton_property_texture_normal>` не задано, **TextureButton** по-прежнему будет получать входные события и будет доступен для нажатия, но пользователь не сможет увидеть его, пока не активирует другое из его состояний с назначенной текстурой (например, наведет на него курсор, чтобы отобразить :ref:`texture_hover<class_TextureButton_property_texture_hover>`).
.. rst-class:: classref-introduction-group
Обучающие материалы
--------------------------------------
- `Демоверсия 3D вокселей <https://godotengine.org/asset-library/asset/2755>`__
.. rst-class:: classref-reftable-group
Свойства
----------------
.. table::
:widths: auto
+----------------------------------------------------+------------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`flip_h<class_TextureButton_property_flip_h>` | ``false`` |
+----------------------------------------------------+------------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`flip_v<class_TextureButton_property_flip_v>` | ``false`` |
+----------------------------------------------------+------------------------------------------------------------------------------+-----------+
| :ref:`bool<class_bool>` | :ref:`ignore_texture_size<class_TextureButton_property_ignore_texture_size>` | ``false`` |
+----------------------------------------------------+------------------------------------------------------------------------------+-----------+
| :ref:`StretchMode<enum_TextureButton_StretchMode>` | :ref:`stretch_mode<class_TextureButton_property_stretch_mode>` | ``2`` |
+----------------------------------------------------+------------------------------------------------------------------------------+-----------+
| :ref:`BitMap<class_BitMap>` | :ref:`texture_click_mask<class_TextureButton_property_texture_click_mask>` | |
+----------------------------------------------------+------------------------------------------------------------------------------+-----------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`texture_disabled<class_TextureButton_property_texture_disabled>` | |
+----------------------------------------------------+------------------------------------------------------------------------------+-----------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`texture_focused<class_TextureButton_property_texture_focused>` | |
+----------------------------------------------------+------------------------------------------------------------------------------+-----------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`texture_hover<class_TextureButton_property_texture_hover>` | |
+----------------------------------------------------+------------------------------------------------------------------------------+-----------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`texture_normal<class_TextureButton_property_texture_normal>` | |
+----------------------------------------------------+------------------------------------------------------------------------------+-----------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`texture_pressed<class_TextureButton_property_texture_pressed>` | |
+----------------------------------------------------+------------------------------------------------------------------------------+-----------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Перечисления
------------------------
.. _enum_TextureButton_StretchMode:
.. rst-class:: classref-enumeration
enum **StretchMode**: :ref:`🔗<enum_TextureButton_StretchMode>`
.. _class_TextureButton_constant_STRETCH_SCALE:
.. rst-class:: classref-enumeration-constant
:ref:`StretchMode<enum_TextureButton_StretchMode>` **STRETCH_SCALE** = ``0``
Масштабируйте так, чтобы он соответствовал ограничивающему прямоугольнику узла.
.. _class_TextureButton_constant_STRETCH_TILE:
.. rst-class:: classref-enumeration-constant
:ref:`StretchMode<enum_TextureButton_StretchMode>` **STRETCH_TILE** = ``1``
Размещает в виде плиток, внутри ограничивающего прямоугольника узла.
.. _class_TextureButton_constant_STRETCH_KEEP:
.. rst-class:: classref-enumeration-constant
:ref:`StretchMode<enum_TextureButton_StretchMode>` **STRETCH_KEEP** = ``2``
Текстура сохраняет свой исходный размер и располагается в верхнем левом углу ограничивающего прямоугольника.
.. _class_TextureButton_constant_STRETCH_KEEP_CENTERED:
.. rst-class:: classref-enumeration-constant
:ref:`StretchMode<enum_TextureButton_StretchMode>` **STRETCH_KEEP_CENTERED** = ``3``
Текстура сохраняет свой исходный размер и остается в центре ограничивающего прямоугольника узла.
.. _class_TextureButton_constant_STRETCH_KEEP_ASPECT:
.. rst-class:: classref-enumeration-constant
:ref:`StretchMode<enum_TextureButton_StretchMode>` **STRETCH_KEEP_ASPECT** = ``4``
Масштабируйте текстуру так, чтобы она вписывалась в ограничивающий прямоугольник узла, но сохраняйте пропорции текстуры.
.. _class_TextureButton_constant_STRETCH_KEEP_ASPECT_CENTERED:
.. rst-class:: classref-enumeration-constant
:ref:`StretchMode<enum_TextureButton_StretchMode>` **STRETCH_KEEP_ASPECT_CENTERED** = ``5``
Масштабируйте текстуру так, чтобы она вписывалась в ограничивающий прямоугольник узла, отцентрируйте ее и сохраните пропорции.
.. _class_TextureButton_constant_STRETCH_KEEP_ASPECT_COVERED:
.. rst-class:: classref-enumeration-constant
:ref:`StretchMode<enum_TextureButton_StretchMode>` **STRETCH_KEEP_ASPECT_COVERED** = ``6``
Масштабируйте текстуру так, чтобы короткая сторона соответствовала ограничивающему прямоугольнику. Другая сторона обрезалась до границ узла.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания свойств
--------------------------------
.. _class_TextureButton_property_flip_h:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **flip_h** = ``false`` :ref:`🔗<class_TextureButton_property_flip_h>`
.. rst-class:: classref-property-setget
- |void| **set_flip_h**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_flipped_h**\ (\ )
Если ``true``, текстура отражена по горизонтали.
.. rst-class:: classref-item-separator
----
.. _class_TextureButton_property_flip_v:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **flip_v** = ``false`` :ref:`🔗<class_TextureButton_property_flip_v>`
.. rst-class:: classref-property-setget
- |void| **set_flip_v**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_flipped_v**\ (\ )
Если ``true``, текстура отражена по вертикали.
.. rst-class:: classref-item-separator
----
.. _class_TextureButton_property_ignore_texture_size:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **ignore_texture_size** = ``false`` :ref:`🔗<class_TextureButton_property_ignore_texture_size>`
.. rst-class:: classref-property-setget
- |void| **set_ignore_texture_size**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **get_ignore_texture_size**\ (\ )
Если ``true``, размер текстуры не будет учитываться при расчете минимального размера, поэтому **TextureButton** можно уменьшить до размера, превышающего размер текстуры.
.. rst-class:: classref-item-separator
----
.. _class_TextureButton_property_stretch_mode:
.. rst-class:: classref-property
:ref:`StretchMode<enum_TextureButton_StretchMode>` **stretch_mode** = ``2`` :ref:`🔗<class_TextureButton_property_stretch_mode>`
.. rst-class:: classref-property-setget
- |void| **set_stretch_mode**\ (\ value\: :ref:`StretchMode<enum_TextureButton_StretchMode>`\ )
- :ref:`StretchMode<enum_TextureButton_StretchMode>` **get_stretch_mode**\ (\ )
Управляет поведением текстуры при изменении размера ограничивающего прямоугольника узла. См. константы :ref:`StretchMode<enum_TextureButton_StretchMode>` для доступных опций.
.. rst-class:: classref-item-separator
----
.. _class_TextureButton_property_texture_click_mask:
.. rst-class:: classref-property
:ref:`BitMap<class_BitMap>` **texture_click_mask** :ref:`🔗<class_TextureButton_property_texture_click_mask>`
.. rst-class:: classref-property-setget
- |void| **set_click_mask**\ (\ value\: :ref:`BitMap<class_BitMap>`\ )
- :ref:`BitMap<class_BitMap>` **get_click_mask**\ (\ )
Черно-белое изображение :ref:`BitMap<class_BitMap>` для использования при обнаружении щелчка. На маске белые пиксели представляют собой область щелчка кнопки. Используйте ее для создания кнопок с изогнутыми формами.
.. rst-class:: classref-item-separator
----
.. _class_TextureButton_property_texture_disabled:
.. rst-class:: classref-property
:ref:`Texture2D<class_Texture2D>` **texture_disabled** :ref:`🔗<class_TextureButton_property_texture_disabled>`
.. rst-class:: classref-property-setget
- |void| **set_texture_disabled**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
- :ref:`Texture2D<class_Texture2D>` **get_texture_disabled**\ (\ )
Текстура для отображения, когда узел отключен. См. :ref:`BaseButton.disabled<class_BaseButton_property_disabled>`. Если не назначено, **TextureButton** отображает :ref:`texture_normal<class_TextureButton_property_texture_normal>` вместо этого.
.. rst-class:: classref-item-separator
----
.. _class_TextureButton_property_texture_focused:
.. rst-class:: classref-property
:ref:`Texture2D<class_Texture2D>` **texture_focused** :ref:`🔗<class_TextureButton_property_texture_focused>`
.. rst-class:: classref-property-setget
- |void| **set_texture_focused**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
- :ref:`Texture2D<class_Texture2D>` **get_texture_focused**\ (\ )
Текстура для *наложения на базовую текстуру*, когда узел имеет фокус мыши или клавиатуры. Поскольку :ref:`texture_focused<class_TextureButton_property_texture_focused>` отображается поверх базовой текстуры, следует использовать частично прозрачную текстуру, чтобы гарантировать, что базовая текстура останется видимой. Текстура, представляющая контур или подчеркивание, хорошо подходит для этой цели. Чтобы отключить визуальный эффект фокуса, назначьте полностью прозрачную текстуру любого размера. Обратите внимание, что отключение визуального эффекта фокуса навредит удобству использования навигации с помощью клавиатуры/контроллера, поэтому это не рекомендуется по соображениям доступности.
.. rst-class:: classref-item-separator
----
.. _class_TextureButton_property_texture_hover:
.. rst-class:: classref-property
:ref:`Texture2D<class_Texture2D>` **texture_hover** :ref:`🔗<class_TextureButton_property_texture_hover>`
.. rst-class:: classref-property-setget
- |void| **set_texture_hover**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
- :ref:`Texture2D<class_Texture2D>` **get_texture_hover**\ (\ )
Текстура, которая будет отображаться при наведении мыши на узел. Если не назначено, **TextureButton** отображает :ref:`texture_normal<class_TextureButton_property_texture_normal>` вместо этого при наведении.
.. rst-class:: classref-item-separator
----
.. _class_TextureButton_property_texture_normal:
.. rst-class:: classref-property
:ref:`Texture2D<class_Texture2D>` **texture_normal** :ref:`🔗<class_TextureButton_property_texture_normal>`
.. rst-class:: classref-property-setget
- |void| **set_texture_normal**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
- :ref:`Texture2D<class_Texture2D>` **get_texture_normal**\ (\ )
Текстура для отображения по умолчанию, когда узел **не** в отключенном, наведенном или нажатом состоянии. Эта текстура по-прежнему отображается в сфокусированном состоянии, с :ref:`texture_focused<class_TextureButton_property_texture_focused>` нарисованным сверху.
.. rst-class:: classref-item-separator
----
.. _class_TextureButton_property_texture_pressed:
.. rst-class:: classref-property
:ref:`Texture2D<class_Texture2D>` **texture_pressed** :ref:`🔗<class_TextureButton_property_texture_pressed>`
.. rst-class:: classref-property-setget
- |void| **set_texture_pressed**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
- :ref:`Texture2D<class_Texture2D>` **get_texture_pressed**\ (\ )
Текстура, которая будет отображаться при наведении мыши на узел, если узел имеет фокус клавиатуры и игрок нажимает клавишу Enter или если игрок нажимает клавишу :ref:`BaseButton.shortcut<class_BaseButton_property_shortcut>`. Если не назначено, **TextureButton** отображает :ref:`texture_hover<class_TextureButton_property_texture_hover>` вместо этого при нажатии.
.. |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 (Нет возвращаемого значения.)`