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

185 lines
14 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_Skeleton2D:
Skeleton2D
==========
**Наследует:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
Родительский элемент иерархии :ref:`Bone2D<class_Bone2D>`, используемый для создания 2D-скелетной анимации.
.. rst-class:: classref-introduction-group
Описание
----------------
**Skeleton2D** является родителем иерархии узлов :ref:`Bone2D<class_Bone2D>`. Он содержит ссылку на позу покоя каждого :ref:`Bone2D<class_Bone2D>` и действует как единая точка доступа к его костям.
Чтобы настроить различные типы обратной кинематики для данного Skeleton2D, следует создать :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>`. Обратная кинематика применяется путем увеличения :ref:`SkeletonModificationStack2D.modification_count<class_SkeletonModificationStack2D_property_modification_count>` и создания желаемого количества модификаций.
.. rst-class:: classref-introduction-group
Обучающие материалы
--------------------------------------
- :doc:`2D-скелеты <../tutorials/animation/2d_skeletons>`
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`execute_modifications<class_Skeleton2D_method_execute_modifications>`\ (\ delta\: :ref:`float<class_float>`, execution_mode\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Bone2D<class_Bone2D>` | :ref:`get_bone<class_Skeleton2D_method_get_bone>`\ (\ idx\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_bone_count<class_Skeleton2D_method_get_bone_count>`\ (\ ) |const| |
+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Transform2D<class_Transform2D>` | :ref:`get_bone_local_pose_override<class_Skeleton2D_method_get_bone_local_pose_override>`\ (\ bone_idx\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>` | :ref:`get_modification_stack<class_Skeleton2D_method_get_modification_stack>`\ (\ ) |const| |
+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_skeleton<class_Skeleton2D_method_get_skeleton>`\ (\ ) |const| |
+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_bone_local_pose_override<class_Skeleton2D_method_set_bone_local_pose_override>`\ (\ bone_idx\: :ref:`int<class_int>`, override_pose\: :ref:`Transform2D<class_Transform2D>`, strength\: :ref:`float<class_float>`, persistent\: :ref:`bool<class_bool>`\ ) |
+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_modification_stack<class_Skeleton2D_method_set_modification_stack>`\ (\ modification_stack\: :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>`\ ) |
+-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Сигналы
--------------
.. _class_Skeleton2D_signal_bone_setup_changed:
.. rst-class:: classref-signal
**bone_setup_changed**\ (\ ) :ref:`🔗<class_Skeleton2D_signal_bone_setup_changed>`
Вызывается при изменении настройки :ref:`Bone2D<class_Bone2D>`, прикрепленной к этим скелетам. В основном используется внутри скелета.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_Skeleton2D_method_execute_modifications:
.. rst-class:: classref-method
|void| **execute_modifications**\ (\ delta\: :ref:`float<class_float>`, execution_mode\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Skeleton2D_method_execute_modifications>`
Выполняет все изменения в :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>`, если они назначены Skeleton2D.
.. rst-class:: classref-item-separator
----
.. _class_Skeleton2D_method_get_bone:
.. rst-class:: classref-method
:ref:`Bone2D<class_Bone2D>` **get_bone**\ (\ idx\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Skeleton2D_method_get_bone>`
Возвращает :ref:`Bone2D<class_Bone2D>` из иерархии узлов, родительской для Skeleton2D. Возвращаемый объект идентифицируется параметром ``idx``. Кости индексируются путем спуска по иерархии узлов сверху вниз, добавляя потомков каждой ветви перед переходом к следующему сестринскому элементу.
.. rst-class:: classref-item-separator
----
.. _class_Skeleton2D_method_get_bone_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_bone_count**\ (\ ) |const| :ref:`🔗<class_Skeleton2D_method_get_bone_count>`
Возвращает количество узлов :ref:`Bone2D<class_Bone2D>` в иерархии узлов, являющихся родительскими для Skeleton2D.
.. rst-class:: classref-item-separator
----
.. _class_Skeleton2D_method_get_bone_local_pose_override:
.. rst-class:: classref-method
:ref:`Transform2D<class_Transform2D>` **get_bone_local_pose_override**\ (\ bone_idx\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Skeleton2D_method_get_bone_local_pose_override>`
Возвращает локальное преобразование переопределения позы для ``bone_idx``.
.. rst-class:: classref-item-separator
----
.. _class_Skeleton2D_method_get_modification_stack:
.. rst-class:: classref-method
:ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>` **get_modification_stack**\ (\ ) |const| :ref:`🔗<class_Skeleton2D_method_get_modification_stack>`
Возвращает :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>`, прикрепленный к данному скелету, если таковой существует.
.. rst-class:: classref-item-separator
----
.. _class_Skeleton2D_method_get_skeleton:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_skeleton**\ (\ ) |const| :ref:`🔗<class_Skeleton2D_method_get_skeleton>`
Возвращает :ref:`RID<class_RID>` экземпляра Skeleton2D.
.. rst-class:: classref-item-separator
----
.. _class_Skeleton2D_method_set_bone_local_pose_override:
.. rst-class:: classref-method
|void| **set_bone_local_pose_override**\ (\ bone_idx\: :ref:`int<class_int>`, override_pose\: :ref:`Transform2D<class_Transform2D>`, strength\: :ref:`float<class_float>`, persistent\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_Skeleton2D_method_set_bone_local_pose_override>`
Устанавливает локальное преобразование позы, ``override_pose``, для кости в ``bone_idx``.
\ ``strength`` — это сила интерполяции, которая будет использоваться при применении позы, а ``persistent`` определяет, останется ли примененная поза.
\ **Примечание:** Преобразование позы должно быть локальным преобразованием относительно узла :ref:`Bone2D<class_Bone2D>` в ``bone_idx``!
.. rst-class:: classref-item-separator
----
.. _class_Skeleton2D_method_set_modification_stack:
.. rst-class:: classref-method
|void| **set_modification_stack**\ (\ modification_stack\: :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>`\ ) :ref:`🔗<class_Skeleton2D_method_set_modification_stack>`
Устанавливает :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>`, прикрепленный к этому скелету.
.. |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 (Нет возвращаемого значения.)`