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

91 lines
8.4 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_AnimationNodeExtension:
AnimationNodeExtension
======================
**Экспериментальное:** This class may be changed or removed in future versions.
**Наследует:** :ref:`AnimationNode<class_AnimationNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Базовый класс для расширения :ref:`AnimationRootNode<class_AnimationRootNode>` из GDScript, C# или C++.
.. rst-class:: classref-introduction-group
Описание
----------------
**AnimationNodeExtension** раскрывает API :ref:`AnimationRootNode<class_AnimationRootNode>`, позволяя пользователям расширять его из GDScript, C# или C++. Этот класс не предназначен для прямого использования, а для расширения другими классами. Он используется для создания пользовательских узлов для системы :ref:`AnimationTree<class_AnimationTree>`.
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`_process_animation_node<class_AnimationNodeExtension_private_method__process_animation_node>`\ (\ playback_info\: :ref:`PackedFloat64Array<class_PackedFloat64Array>`, test_only\: :ref:`bool<class_bool>`\ ) |virtual| |required| |
+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_remaining_time<class_AnimationNodeExtension_method_get_remaining_time>`\ (\ node_info\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`, break_loop\: :ref:`bool<class_bool>`\ ) |static| |
+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_looping<class_AnimationNodeExtension_method_is_looping>`\ (\ node_info\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ ) |static| |
+-----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_AnimationNodeExtension_private_method__process_animation_node:
.. rst-class:: classref-method
:ref:`PackedFloat32Array<class_PackedFloat32Array>` **_process_animation_node**\ (\ playback_info\: :ref:`PackedFloat64Array<class_PackedFloat64Array>`, test_only\: :ref:`bool<class_bool>`\ ) |virtual| |required| :ref:`🔗<class_AnimationNodeExtension_private_method__process_animation_node>`
Версия метода :ref:`AnimationNode._process()<class_AnimationNode_private_method__process>`, которая должна быть переопределена пользовательскими узлами. Возвращает :ref:`PackedFloat32Array<class_PackedFloat32Array>` с обработанными данными анимации.
Параметр :ref:`PackedFloat64Array<class_PackedFloat64Array>` содержит информацию о воспроизведении, включающую следующие значения, закодированные как числа с плавающей точкой (по порядку): время воспроизведения и дельта, время начала и окончания, был ли запрошен поиск (закодирован как число с плавающей точкой больше ``0``), был ли запрос поиска запрошен извне (закодирован как число с плавающей точкой больше ``0``), текущий :ref:`LoopedFlag<enum_Animation_LoopedFlag>` (закодирован как число с плавающей точкой) и текущий вес смешивания.
Функция должна возвращать :ref:`PackedFloat32Array<class_PackedFloat32Array>` временной информации узла, содержащей следующие значения (по порядку): длина анимации, временная позиция, дельта, :ref:`LoopMode<enum_Animation_LoopMode>` (закодировано как float), заканчивается ли анимация (закодировано как float больше ``0``) и бесконечна ли анимация (закодировано как float больше ``0``). Все значения должны быть включены в возвращаемый массив.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeExtension_method_get_remaining_time:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_remaining_time**\ (\ node_info\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`, break_loop\: :ref:`bool<class_bool>`\ ) |static| :ref:`🔗<class_AnimationNodeExtension_method_get_remaining_time>`
Возвращает оставшееся время анимации для заданной информации узла. Для циклических анимаций оставшееся время будет возвращено только если ``break_loop`` равен ``true``, в противном случае будет возвращено большое целочисленное значение.
.. rst-class:: classref-item-separator
----
.. _class_AnimationNodeExtension_method_is_looping:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_looping**\ (\ node_info\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ ) |static| :ref:`🔗<class_AnimationNodeExtension_method_is_looping>`
Возвращает ``true``, если анимация для заданного ``node_info`` является циклической.
.. |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 (Нет возвращаемого значения.)`