mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
129 lines
6.6 KiB
ReStructuredText
129 lines
6.6 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_BackBufferCopy:
|
||
|
||
BackBufferCopy
|
||
==============
|
||
|
||
**Наследует:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
||
|
||
Узел, который копирует область экрана в буфер для доступа в коде шейдера.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Описание
|
||
----------------
|
||
|
||
Узел для буферизации текущего отображаемого экрана. Регион, определенный в узле **BackBufferCopy**, буферизуется содержимым экрана, который он покрывает, или всем экраном в соответствии с :ref:`copy_mode<class_BackBufferCopy_property_copy_mode>`. К нему можно получить доступ в скриптах шейдера с помощью текстуры экрана (т. е. однородного сэмплера с ``hint_screen_texture``).
|
||
|
||
\ **Примечание:** Поскольку этот узел наследуется от :ref:`Node2D<class_Node2D>` (а не от :ref:`Control<class_Control>`), якоря и поля не будут применяться к дочерним узлам, производным от :ref:`Control<class_Control>`. Это может быть проблематично при изменении размера окна. Чтобы избежать этого, добавьте узлы, производные от :ref:`Control<class_Control>`, как *родственные* узлы в узел **BackBufferCopy** вместо того, чтобы добавлять их как дочерние.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Обучающие материалы
|
||
--------------------------------------
|
||
|
||
- :doc:`Шейдеры чтения экрана <../tutorials/shaders/screen-reading_shaders>`
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Свойства
|
||
----------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-----------------------------------------------+-----------------------------------------------------------+---------------------------------+
|
||
| :ref:`CopyMode<enum_BackBufferCopy_CopyMode>` | :ref:`copy_mode<class_BackBufferCopy_property_copy_mode>` | ``1`` |
|
||
+-----------------------------------------------+-----------------------------------------------------------+---------------------------------+
|
||
| :ref:`Rect2<class_Rect2>` | :ref:`rect<class_BackBufferCopy_property_rect>` | ``Rect2(-100, -100, 200, 200)`` |
|
||
+-----------------------------------------------+-----------------------------------------------------------+---------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Перечисления
|
||
------------------------
|
||
|
||
.. _enum_BackBufferCopy_CopyMode:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **CopyMode**: :ref:`🔗<enum_BackBufferCopy_CopyMode>`
|
||
|
||
.. _class_BackBufferCopy_constant_COPY_MODE_DISABLED:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CopyMode<enum_BackBufferCopy_CopyMode>` **COPY_MODE_DISABLED** = ``0``
|
||
|
||
Отключает режим буферизации. Это означает, что узел **BackBufferCopy** будет напрямую использовать часть экрана, которую он покрывает.
|
||
|
||
.. _class_BackBufferCopy_constant_COPY_MODE_RECT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CopyMode<enum_BackBufferCopy_CopyMode>` **COPY_MODE_RECT** = ``1``
|
||
|
||
**BackBufferCopy** буферизует прямоугольную область.
|
||
|
||
.. _class_BackBufferCopy_constant_COPY_MODE_VIEWPORT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CopyMode<enum_BackBufferCopy_CopyMode>` **COPY_MODE_VIEWPORT** = ``2``
|
||
|
||
**BackBufferCopy** буферизует весь экран.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания свойств
|
||
--------------------------------
|
||
|
||
.. _class_BackBufferCopy_property_copy_mode:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`CopyMode<enum_BackBufferCopy_CopyMode>` **copy_mode** = ``1`` :ref:`🔗<class_BackBufferCopy_property_copy_mode>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_copy_mode**\ (\ value\: :ref:`CopyMode<enum_BackBufferCopy_CopyMode>`\ )
|
||
- :ref:`CopyMode<enum_BackBufferCopy_CopyMode>` **get_copy_mode**\ (\ )
|
||
|
||
Режим буфера.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_BackBufferCopy_property_rect:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Rect2<class_Rect2>` **rect** = ``Rect2(-100, -100, 200, 200)`` :ref:`🔗<class_BackBufferCopy_property_rect>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_rect**\ (\ value\: :ref:`Rect2<class_Rect2>`\ )
|
||
- :ref:`Rect2<class_Rect2>` **get_rect**\ (\ )
|
||
|
||
Область, охватываемая **BackBufferCopy**. Используется только если :ref:`copy_mode<class_BackBufferCopy_property_copy_mode>` равен :ref:`COPY_MODE_RECT<class_BackBufferCopy_constant_COPY_MODE_RECT>`.
|
||
|
||
.. |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 (Нет возвращаемого значения.)`
|