mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
229 lines
12 KiB
ReStructuredText
229 lines
12 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_PropertyTweener:
|
||
|
||
PropertyTweener
|
||
===============
|
||
|
||
**Наследует:** :ref:`Tweener<class_Tweener>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
||
|
||
Интерполирует свойство :ref:`Object<class_Object>` с течением времени.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Описание
|
||
----------------
|
||
|
||
**PropertyTweener** используется для интерполяции свойства в объекте. См. :ref:`Tween.tween_property()<class_Tween_method_tween_property>` для получения дополнительной информации об использовании.
|
||
|
||
Tweener завершится автоматически, если целевой объект будет освобожден.
|
||
|
||
\ **Примечание:** :ref:`Tween.tween_property()<class_Tween_method_tween_property>` — единственный правильный способ создания **PropertyTweener**. Любой **PropertyTweener**, созданный вручную, не будет работать правильно.
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методы
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`as_relative<class_PropertyTweener_method_as_relative>`\ (\ ) |
|
||
+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`from<class_PropertyTweener_method_from>`\ (\ value\: :ref:`Variant<class_Variant>`\ ) |
|
||
+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`from_current<class_PropertyTweener_method_from_current>`\ (\ ) |
|
||
+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_custom_interpolator<class_PropertyTweener_method_set_custom_interpolator>`\ (\ interpolator_method\: :ref:`Callable<class_Callable>`\ ) |
|
||
+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_delay<class_PropertyTweener_method_set_delay>`\ (\ delay\: :ref:`float<class_float>`\ ) |
|
||
+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_ease<class_PropertyTweener_method_set_ease>`\ (\ ease\: :ref:`EaseType<enum_Tween_EaseType>`\ ) |
|
||
+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_trans<class_PropertyTweener_method_set_trans>`\ (\ trans\: :ref:`TransitionType<enum_Tween_TransitionType>`\ ) |
|
||
+-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания метода
|
||
------------------------------
|
||
|
||
.. _class_PropertyTweener_method_as_relative:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PropertyTweener<class_PropertyTweener>` **as_relative**\ (\ ) :ref:`🔗<class_PropertyTweener_method_as_relative>`
|
||
|
||
При вызове окончательное значение будет использоваться как относительное значение.
|
||
|
||
\ **Пример:** Переместить узел на ``100`` пикселей вправо.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
var tween = get_tree().create_tween()
|
||
tween.tween_property(self, "position", Vector2.RIGHT * 100, 1).as_relative()
|
||
|
||
.. code-tab:: csharp
|
||
|
||
Tween tween = GetTree().CreateTween();
|
||
tween.TweenProperty(this, "position", Vector2.Right * 100.0f, 1.0f).AsRelative();
|
||
|
||
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PropertyTweener_method_from:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PropertyTweener<class_PropertyTweener>` **from**\ (\ value\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_PropertyTweener_method_from>`
|
||
|
||
Устанавливает пользовательское начальное значение для **PropertyTweener**.
|
||
|
||
\ **Пример:** Переместить узел из позиции ``(100, 100)`` в ``(200, 100)``.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
var tween = get_tree().create_tween()
|
||
tween.tween_property(self, "position", Vector2(200, 100), 1).from(Vector2(100, 100))
|
||
|
||
.. code-tab:: csharp
|
||
|
||
Tween tween = GetTree().CreateTween();
|
||
tween.TweenProperty(this, "position", new Vector2(200.0f, 100.0f), 1.0f).From(new Vector2(100.0f, 100.0f));
|
||
|
||
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PropertyTweener_method_from_current:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PropertyTweener<class_PropertyTweener>` **from_current**\ (\ ) :ref:`🔗<class_PropertyTweener_method_from_current>`
|
||
|
||
Заставляет **PropertyTweener** использовать текущее значение свойства (т.е. на момент создания этого **PropertyTweener**) в качестве отправной точки. Это эквивалентно использованию :ref:`from()<class_PropertyTweener_method_from>` с текущим значением. Эти два вызова сделают то же самое:
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
tween.tween_property(self, "position", Vector2(200, 100), 1).from(position)
|
||
tween.tween_property(self, "position", Vector2(200, 100), 1).from_current()
|
||
|
||
.. code-tab:: csharp
|
||
|
||
tween.TweenProperty(this, "position", new Vector2(200.0f, 100.0f), 1.0f).From(Position);
|
||
tween.TweenProperty(this, "position", new Vector2(200.0f, 100.0f), 1.0f).FromCurrent();
|
||
|
||
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PropertyTweener_method_set_custom_interpolator:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PropertyTweener<class_PropertyTweener>` **set_custom_interpolator**\ (\ interpolator_method\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_PropertyTweener_method_set_custom_interpolator>`
|
||
|
||
Позволяет интерполировать значение с помощью пользовательской функции смягчения. Предоставленный ``interpolator_method`` будет вызван со значением в диапазоне от ``0.0`` до ``1.0`` и, как ожидается, вернет значение в том же диапазоне (значения вне диапазона могут использоваться для превышения). Возвращаемое значение метода затем используется для интерполяции между начальным и конечным значением. Обратите внимание, что параметр, переданный методу, по-прежнему зависит от собственного смягчения tweener.
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
@export var curve: Curve
|
||
|
||
func _ready():
|
||
var tween = create_tween()
|
||
# Интерполируйте значение, используя пользовательскую кривую.
|
||
tween.tween_property(self, "position:x", 300, 1).as_relative().set_custom_interpolator(tween_curve)
|
||
|
||
func tween_curve(v):
|
||
return curve.sample_baked(v)
|
||
|
||
.. code-tab:: csharp
|
||
|
||
[Export]
|
||
public Curve Curve { get; set; }
|
||
|
||
public override void _Ready()
|
||
{
|
||
Tween tween = CreateTween();
|
||
// Интерполируйте значение, используя пользовательскую кривую.
|
||
Callable tweenCurveCallable = Callable.From<float, float>(TweenCurve);
|
||
tween.TweenProperty(this, "position:x", 300.0f, 1.0f).AsRelative().SetCustomInterpolator(tweenCurveCallable);
|
||
}
|
||
|
||
private float TweenCurve(float value)
|
||
{
|
||
return Curve.SampleBaked(value);
|
||
}
|
||
|
||
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PropertyTweener_method_set_delay:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PropertyTweener<class_PropertyTweener>` **set_delay**\ (\ delay\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PropertyTweener_method_set_delay>`
|
||
|
||
Устанавливает время в секундах, после которого **PropertyTweener** начнет интерполяцию. По умолчанию задержки нет.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PropertyTweener_method_set_ease:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PropertyTweener<class_PropertyTweener>` **set_ease**\ (\ ease\: :ref:`EaseType<enum_Tween_EaseType>`\ ) :ref:`🔗<class_PropertyTweener_method_set_ease>`
|
||
|
||
Устанавливает тип используемой плавности из :ref:`EaseType<enum_Tween_EaseType>`. Если не установлено, плавность по умолчанию используется из :ref:`Tween<class_Tween>`, который содержит этот Tweener.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PropertyTweener_method_set_trans:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PropertyTweener<class_PropertyTweener>` **set_trans**\ (\ trans\: :ref:`TransitionType<enum_Tween_TransitionType>`\ ) :ref:`🔗<class_PropertyTweener_method_set_trans>`
|
||
|
||
Задает тип используемого перехода из :ref:`TransitionType<enum_Tween_TransitionType>`. Если не задано, используется переход по умолчанию из :ref:`Tween<class_Tween>`, который содержит этот Tweener.
|
||
|
||
.. |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 (Нет возвращаемого значения.)`
|