Files
godot-docs-l10n/classes/ru/class_ninepatchrect.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_NinePatchRect:
NinePatchRect
=============
**Наследует:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
Элемент управления, который отображает текстуру, сохраняя ее углы нетронутыми, но размещая ее края и центр.
.. rst-class:: classref-introduction-group
Описание
----------------
Также известный как 9-секционные панели, **NinePatchRect** создает чистые панели любого размера на основе небольшой текстуры. Для этого он разбивает текстуру на сетку 3×3. Когда вы масштабируете узел, он размещает края текстуры по горизонтали или вертикали, размещает центр по обеим осям и оставляет углы неизменными.
.. rst-class:: classref-reftable-group
Свойства
----------------
.. table::
:widths: auto
+------------------------------------------------------------+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` | :ref:`axis_stretch_horizontal<class_NinePatchRect_property_axis_stretch_horizontal>` | ``0`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` | :ref:`axis_stretch_vertical<class_NinePatchRect_property_axis_stretch_vertical>` | ``0`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`draw_center<class_NinePatchRect_property_draw_center>` | ``true`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`MouseFilter<enum_Control_MouseFilter>` | mouse_filter | ``2`` (overrides :ref:`Control<class_Control_property_mouse_filter>`) |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`patch_margin_bottom<class_NinePatchRect_property_patch_margin_bottom>` | ``0`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`patch_margin_left<class_NinePatchRect_property_patch_margin_left>` | ``0`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`patch_margin_right<class_NinePatchRect_property_patch_margin_right>` | ``0`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`patch_margin_top<class_NinePatchRect_property_patch_margin_top>` | ``0`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Rect2<class_Rect2>` | :ref:`region_rect<class_NinePatchRect_property_region_rect>` | ``Rect2(0, 0, 0, 0)`` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`texture<class_NinePatchRect_property_texture>` | |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_patch_margin<class_NinePatchRect_method_get_patch_margin>`\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const| |
+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_patch_margin<class_NinePatchRect_method_set_patch_margin>`\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, value\: :ref:`int<class_int>`\ ) |
+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Сигналы
--------------
.. _class_NinePatchRect_signal_texture_changed:
.. rst-class:: classref-signal
**texture_changed**\ (\ ) :ref:`🔗<class_NinePatchRect_signal_texture_changed>`
Вызывается при изменении текстуры узла.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Перечисления
------------------------
.. _enum_NinePatchRect_AxisStretchMode:
.. rst-class:: classref-enumeration
enum **AxisStretchMode**: :ref:`🔗<enum_NinePatchRect_AxisStretchMode>`
.. _class_NinePatchRect_constant_AXIS_STRETCH_MODE_STRETCH:
.. rst-class:: classref-enumeration-constant
:ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` **AXIS_STRETCH_MODE_STRETCH** = ``0``
Растягивает центральную текстуру по NinePatchRect. Это может привести к искажению текстуры.
.. _class_NinePatchRect_constant_AXIS_STRETCH_MODE_TILE:
.. rst-class:: classref-enumeration-constant
:ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` **AXIS_STRETCH_MODE_TILE** = ``1``
Повторяет центральную текстуру по NinePatchRect. Это не вызовет видимых искажений. Текстура должна быть бесшовной, чтобы это работало без отображения артефактов между краями.
.. _class_NinePatchRect_constant_AXIS_STRETCH_MODE_TILE_FIT:
.. rst-class:: classref-enumeration-constant
:ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` **AXIS_STRETCH_MODE_TILE_FIT** = ``2``
Повторяет центральную текстуру по NinePatchRect, но также растягивает текстуру, чтобы убедиться, что каждый тайл виден полностью. Это может привести к искажению текстуры, но меньше, чем :ref:`AXIS_STRETCH_MODE_STRETCH<class_NinePatchRect_constant_AXIS_STRETCH_MODE_STRETCH>`. Текстура должна быть бесшовной, чтобы это работало без отображения артефактов между краями.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания свойств
--------------------------------
.. _class_NinePatchRect_property_axis_stretch_horizontal:
.. rst-class:: classref-property
:ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` **axis_stretch_horizontal** = ``0`` :ref:`🔗<class_NinePatchRect_property_axis_stretch_horizontal>`
.. rst-class:: classref-property-setget
- |void| **set_h_axis_stretch_mode**\ (\ value\: :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>`\ )
- :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` **get_h_axis_stretch_mode**\ (\ )
Режим растяжения, используемый для горизонтального растяжения/тайлинга.
.. rst-class:: classref-item-separator
----
.. _class_NinePatchRect_property_axis_stretch_vertical:
.. rst-class:: classref-property
:ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` **axis_stretch_vertical** = ``0`` :ref:`🔗<class_NinePatchRect_property_axis_stretch_vertical>`
.. rst-class:: classref-property-setget
- |void| **set_v_axis_stretch_mode**\ (\ value\: :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>`\ )
- :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` **get_v_axis_stretch_mode**\ (\ )
Режим растяжения, используемый для вертикального растяжения/тайлинга.
.. rst-class:: classref-item-separator
----
.. _class_NinePatchRect_property_draw_center:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **draw_center** = ``true`` :ref:`🔗<class_NinePatchRect_property_draw_center>`
.. rst-class:: classref-property-setget
- |void| **set_draw_center**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_draw_center_enabled**\ (\ )
Если ``true``, рисуем центр панели. В противном случае рисуем только границы 9-слоя.
.. rst-class:: classref-item-separator
----
.. _class_NinePatchRect_property_patch_margin_bottom:
.. rst-class:: classref-property
:ref:`int<class_int>` **patch_margin_bottom** = ``0`` :ref:`🔗<class_NinePatchRect_property_patch_margin_bottom>`
.. rst-class:: classref-property-setget
- |void| **set_patch_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_patch_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const|
Высота нижнего ряда 9-слоя. Поле 16 означает, что нижние углы и сторона 9-слоя будут иметь высоту 16 пикселей. Вы можете задать все 4 значения полей по отдельности, чтобы создавать панели с неравномерными границами.
.. rst-class:: classref-item-separator
----
.. _class_NinePatchRect_property_patch_margin_left:
.. rst-class:: classref-property
:ref:`int<class_int>` **patch_margin_left** = ``0`` :ref:`🔗<class_NinePatchRect_property_patch_margin_left>`
.. rst-class:: classref-property-setget
- |void| **set_patch_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_patch_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const|
Ширина левого столбца 9-слоя. Поле 16 означает, что левые углы и сторона 9-слоя будут иметь ширину 16 пикселей. Вы можете задать все 4 значения полей по отдельности, чтобы создавать панели с неравномерными границами.
.. rst-class:: classref-item-separator
----
.. _class_NinePatchRect_property_patch_margin_right:
.. rst-class:: classref-property
:ref:`int<class_int>` **patch_margin_right** = ``0`` :ref:`🔗<class_NinePatchRect_property_patch_margin_right>`
.. rst-class:: classref-property-setget
- |void| **set_patch_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_patch_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const|
Ширина правого столбца 9-слоя. Поле 16 означает, что правые углы и сторона 9-слоя будут иметь ширину 16 пикселей. Вы можете задать все 4 значения полей по отдельности, чтобы создавать панели с неравномерными границами.
.. rst-class:: classref-item-separator
----
.. _class_NinePatchRect_property_patch_margin_top:
.. rst-class:: classref-property
:ref:`int<class_int>` **patch_margin_top** = ``0`` :ref:`🔗<class_NinePatchRect_property_patch_margin_top>`
.. rst-class:: classref-property-setget
- |void| **set_patch_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_patch_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const|
Высота верхней строки 9-слоя. Поле 16 означает, что верхние углы и сторона 9-слоя будут иметь высоту 16 пикселей. Вы можете задать все 4 значения полей по отдельности, чтобы создавать панели с неравномерными границами.
.. rst-class:: classref-item-separator
----
.. _class_NinePatchRect_property_region_rect:
.. rst-class:: classref-property
:ref:`Rect2<class_Rect2>` **region_rect** = ``Rect2(0, 0, 0, 0)`` :ref:`🔗<class_NinePatchRect_property_region_rect>`
.. rst-class:: classref-property-setget
- |void| **set_region_rect**\ (\ value\: :ref:`Rect2<class_Rect2>`\ )
- :ref:`Rect2<class_Rect2>` **get_region_rect**\ (\ )
Прямоугольная область текстуры для выборки. Если вы работаете с атласом, используйте это свойство для определения области, которую должен использовать 9-срез. Все остальные свойства относятся к этому. Если прямоугольник пуст, NinePatchRect будет использовать всю текстуру.
.. rst-class:: classref-item-separator
----
.. _class_NinePatchRect_property_texture:
.. rst-class:: classref-property
:ref:`Texture2D<class_Texture2D>` **texture** :ref:`🔗<class_NinePatchRect_property_texture>`
.. rst-class:: classref-property-setget
- |void| **set_texture**\ (\ value\: :ref:`Texture2D<class_Texture2D>`\ )
- :ref:`Texture2D<class_Texture2D>` **get_texture**\ (\ )
Ресурс текстуры узла.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_NinePatchRect_method_get_patch_margin:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_patch_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`\ ) |const| :ref:`🔗<class_NinePatchRect_method_get_patch_margin>`
Возвращает размер поля на указанной :ref:`Side<enum_@GlobalScope_Side>`.
.. rst-class:: classref-item-separator
----
.. _class_NinePatchRect_method_set_patch_margin:
.. rst-class:: classref-method
|void| **set_patch_margin**\ (\ margin\: :ref:`Side<enum_@GlobalScope_Side>`, value\: :ref:`int<class_int>`\ ) :ref:`🔗<class_NinePatchRect_method_set_patch_margin>`
Устанавливает размер поля на указанной стороне :ref:`Side<enum_@GlobalScope_Side>` равным ``value`` пикселей.
.. |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 (Нет возвращаемого значения.)`