Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
PropertyTweener
Наследует: Tweener < RefCounted < Object
Интерполирует свойство Object с течением времени.
Описание
PropertyTweener используется для интерполяции свойства в объекте. См. Tween.tween_property() для получения дополнительной информации об использовании.
Tweener завершится автоматически, если целевой объект будет освобожден.
Примечание: Tween.tween_property() — единственный правильный способ создания PropertyTweener. Любой PropertyTweener, созданный вручную, не будет работать правильно.
Методы
set_custom_interpolator(interpolator_method: Callable) |
|
set_trans(trans: TransitionType) |
Описания метода
PropertyTweener as_relative() 🔗
При вызове окончательное значение будет использоваться как относительное значение.
Пример: Переместить узел на 100 пикселей вправо.
var tween = get_tree().create_tween()
tween.tween_property(self, "position", Vector2.RIGHT * 100, 1).as_relative()
Tween tween = GetTree().CreateTween();
tween.TweenProperty(this, "position", Vector2.Right * 100.0f, 1.0f).AsRelative();
PropertyTweener from(value: Variant) 🔗
Устанавливает пользовательское начальное значение для PropertyTweener.
Пример: Переместить узел из позиции (100, 100) в (200, 100).
var tween = get_tree().create_tween()
tween.tween_property(self, "position", Vector2(200, 100), 1).from(Vector2(100, 100))
Tween tween = GetTree().CreateTween();
tween.TweenProperty(this, "position", new Vector2(200.0f, 100.0f), 1.0f).From(new Vector2(100.0f, 100.0f));
PropertyTweener from_current() 🔗
Заставляет PropertyTweener использовать текущее значение свойства (т.е. на момент создания этого PropertyTweener) в качестве отправной точки. Это эквивалентно использованию from() с текущим значением. Эти два вызова сделают то же самое:
tween.tween_property(self, "position", Vector2(200, 100), 1).from(position)
tween.tween_property(self, "position", Vector2(200, 100), 1).from_current()
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();
PropertyTweener set_custom_interpolator(interpolator_method: Callable) 🔗
Позволяет интерполировать значение с помощью пользовательской функции смягчения. Предоставленный interpolator_method будет вызван со значением в диапазоне от 0.0 до 1.0 и, как ожидается, вернет значение в том же диапазоне (значения вне диапазона могут использоваться для превышения). Возвращаемое значение метода затем используется для интерполяции между начальным и конечным значением. Обратите внимание, что параметр, переданный методу, по-прежнему зависит от собственного смягчения tweener.
@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)
[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);
}
PropertyTweener set_delay(delay: float) 🔗
Устанавливает время в секундах, после которого PropertyTweener начнет интерполяцию. По умолчанию задержки нет.
PropertyTweener set_ease(ease: EaseType) 🔗
Устанавливает тип используемой плавности из EaseType. Если не установлено, плавность по умолчанию используется из Tween, который содержит этот Tweener.
PropertyTweener set_trans(trans: TransitionType) 🔗
Задает тип используемого перехода из TransitionType. Если не задано, используется переход по умолчанию из Tween, который содержит этот Tweener.