PropertyTweener¶
继承: Tweener < RefCounted < Object
随着时间的推移插入Object的属性。
描述¶
用于插入对象中的属性。有关更多用法信息,请参阅Tween.tween_property()。
如果目标对象被释放,则weener将自动完成。
注意: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 之间的值进行调用,并预期返回一个相同范围内的值(范围外的值可用于过冲)。然后,该方法的返回值将用于在初始值和最终值之间进行插值。请注意,传递给该方法的参数仍受补间器自身缓动的影响。
@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设置使用的宽松类型。如果未设置,则使用包含此Tweener的Tween中的默认宽松。
PropertyTweener set_trans(trans: TransitionType) 🔗
从TransitionType设置使用的转换类型。如果未设置,则使用包含此Tweener的Tween的默认转换。