Add more clarifications about Tween processing

(cherry picked from commit 038cb677cb)
This commit is contained in:
kobewi 2022-09-11 17:39:35 +02:00 committed by Rémi Verschelde
parent d5c1baa288
commit 577b562428

View file

@ -36,9 +36,18 @@
tween.tween_property(sprite, "position", Vector2(0, 0), 1)
[/codeblock]
In the example above, all children of a node are moved one after another to position (0, 0).
You should avoid using more than one [SceneTreeTween] per object's property. If two or more tweens animate one property at the same time, the last one created will take priority and assign the final value. If you want to interrupt and restart an animation, consider assigning the [SceneTreeTween] to a variable:
[codeblock]
var tween
func animate():
if tween:
tween.kill() # Abort the previous animation.
tween = create_tween()
[/codeblock]
Some [Tweener]s use transitions and eases. The first accepts a [enum Tween.TransitionType] constant, and refers to the way the timing of the animation is handled (see [url=https://easings.net/]easings.net[/url] for some examples). The second accepts an [enum Tween.EaseType] constant, and controls where the [code]trans_type[/code] is applied to the interpolation (in the beginning, the end, or both). If you don't know which transition and easing to pick, you can try different [enum Tween.TransitionType] constants with [constant Tween.EASE_IN_OUT], and use the one that looks best.
[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/tween_cheatsheet.png]Tween easing and transition types cheatsheet[/url]
[b]Note:[/b] All [SceneTreeTween]s will automatically start by default. To prevent a [SceneTreeTween] from autostarting, you can call [method stop] immediately after it is created.
[b]Note:[/b] [SceneTreeTween]s are processing after all of nodes in the current frame, i.e. after [method Node._process] or [method Node._physics_process] (depending on [enum Tween.TweenProcessMode]).
</description>
<tutorials>
</tutorials>