Tween

Inherits: Node < Object

Category: Core

Brief Description

Smoothly animates a node’s properties over time.

Member Functions

bool follow_method ( Object object, String method, Variant initial_val, Object target, String target_method, float duration, int trans_type, int ease_type, float delay=0 )
bool follow_property ( Object object, NodePath property, Variant initial_val, Object target, NodePath target_property, float duration, int trans_type, int ease_type, float delay=0 )
float get_runtime ( ) const
bool interpolate_callback ( Object object, float duration, String callback, Variant arg1=null, Variant arg2=null, Variant arg3=null, Variant arg4=null, Variant arg5=null )
bool interpolate_deferred_callback ( Object object, float duration, String callback, Variant arg1=null, Variant arg2=null, Variant arg3=null, Variant arg4=null, Variant arg5=null )
bool interpolate_method ( Object object, String method, Variant initial_val, Variant final_val, float duration, int trans_type, int ease_type, float delay=0 )
bool interpolate_property ( Object object, NodePath property, Variant initial_val, Variant final_val, float duration, int trans_type, int ease_type, float delay=0 )
bool is_active ( ) const
bool remove ( Object object, String key=”” )
bool remove_all ( )
bool reset ( Object object, String key=”” )
bool reset_all ( )
bool resume ( Object object, String key=”” )
bool resume_all ( )
bool seek ( float time )
void set_active ( bool active )
bool start ( )
bool stop ( Object object, String key=”” )
bool stop_all ( )
bool targeting_method ( Object object, String method, Object initial, String initial_method, Variant final_val, float duration, int trans_type, int ease_type, float delay=0 )
bool targeting_property ( Object object, NodePath property, Object initial, NodePath initial_val, Variant final_val, float duration, int trans_type, int ease_type, float delay=0 )
float tell ( ) const

Signals

Emitted when a tween ends.

Emitted when a tween starts.

Emitted at each step of the animation.

Member Variables

  • TweenProcessMode playback_process_mode - The tween’s animation process thread. See enum TweenProcessMode. Default value: enum TWEEN_PROCESS_IDLE.
  • float playback_speed - The tween’s speed multiplier. For example, set it to 1.0 for normal speed, 2.0 for two times normal speed, or 0.5 for half of the normal speed. A value of 0 pauses the animation, but see also set_active or stop_all for this.
  • bool repeat - If true the tween loops.

Enums

enum TweenProcessMode

  • TWEEN_PROCESS_PHYSICS = 0 — The tween updates with the _physics_process callback.
  • TWEEN_PROCESS_IDLE = 1 — The tween updates with the _process callback.

enum EaseType

  • EASE_IN = 0 — The interpolation starts slowly and speeds up towards the end.
  • EASE_OUT = 1 — The interpolation starts quickly and slows down towards the end.
  • EASE_IN_OUT = 2 — A combination of EASE_IN and EASE_OUT. The interpolation is slowest at both ends.
  • EASE_OUT_IN = 3 — A combination of EASE_IN and EASE_OUT. The interpolation is fastest at both ends.

enum TransitionType

  • TRANS_LINEAR = 0 — The animation is interpolated linearly.
  • TRANS_SINE = 1 — The animation is interpolated using a sine function.
  • TRANS_QUINT = 2 — The animation is interpolated with a quintic (to the power of 5) function.
  • TRANS_QUART = 3 — The animation is interpolated with a quartic (to the power of 4) function.
  • TRANS_QUAD = 4 — The animation is interpolated with a quadratic (to the power of 2) function.
  • TRANS_EXPO = 5 — The animation is interpolated with an exponential (to the power of x) function.
  • TRANS_ELASTIC = 6 — The animation is interpolated with elasticity, wiggling around the edges.
  • TRANS_CUBIC = 7 — The animation is interpolated with a cubic (to the power of 3) function.
  • TRANS_CIRC = 8 — The animation is interpolated with a function using square roots.
  • TRANS_BOUNCE = 9 — The animation is interpolated by bouncing at the end.
  • TRANS_BACK = 10 — The animation is interpolated backing out at ends.

Description

Tweens are useful for animations requiring a numerical property to be interpolated over a range of values. The name *tween* comes from *in-betweening*, an animation technique where you specify *keyframes* and the computer interpolates the frames that appear between them.

Here is a brief usage example that causes a 2D node to move smoothly between two positions:

var tween = get_node("Tween")
tween.interpolate_property($Node2D, "position",
                Vector2(0, 0), Vector2(100, 100), 1,
                Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
tween.start()

Many methods require a property name, such as “position” above. You can find the correct property name by hovering over the property in the Inspector.

Many of the methods accept trans_type and ease_type. The first accepts an enum TransitionType constant, and refers to the way the timing of the animation is handled (see http://easings.net/ for some examples). The second accepts an enum EaseType constant, and controls the where trans_type 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 TransitionType constants with enum EASE_IN_OUT, and use the one that looks best.

Member Function Description

Follows method of object and applies the returned value on target_method of target, beginning from initial_val for duration seconds, delay later. Methods are called with consecutive values.

Use enum TransitionType for trans_type and enum EaseType for ease_type parameters. These values control the timing and direction of the interpolation. See the class description for more information

Follows property of object and applies it on target_property of target, beginning from initial_val for duration seconds, delay seconds later.

Use enum TransitionType for trans_type and enum EaseType for ease_type parameters. These values control the timing and direction of the interpolation. See the class description for more information
  • float get_runtime ( ) const

Returns the total time needed for all tweens to end. If you have two tweens, one lasting 10 seconds and the other 20 seconds, it would return 20 seconds, as by that time all tweens would have finished.

Calls callback of object after duration. arg1-arg5 are arguments to be passed to the callback.

Calls callback of object after duration on the main thread (similar to Object.call_deferred). arg1-arg5 are arguments to be passed to the callback.

Animates method of object from initial_val to final_val for duration seconds, delay seconds later. Methods are called with consecutive values.

Use enum TransitionType for trans_type and enum EaseType for ease_type parameters. These values control the timing and direction of the interpolation. See the class description for more information

Animates property of object from initial_val to final_val for duration seconds, delay seconds later.

Use enum TransitionType for trans_type and enum EaseType for ease_type parameters. These values control the timing and direction of the interpolation. See the class description for more information
  • bool is_active ( ) const

Returns true if any tweens are currently running. Note that this method doesn’t consider tweens that have ended.

Stops animation and removes a tween, given its object and property/method pair. By default, all tweens are removed, unless key is specified.

  • bool remove_all ( )

Stops animation and removes all tweens.

Resets a tween to its initial value (the one given, not the one before the tween), given its object and property/method pair. By default, all tweens are removed, unless key is specified.

  • bool reset_all ( )

Resets all tweens to their initial values (the ones given, not those before the tween).

Continues animating a stopped tween, given its object and property/method pair. By default, all tweens are resumed, unless key is specified.

  • bool resume_all ( )

Continues animating all stopped tweens.

Sets the interpolation to the given time in seconds.

  • void set_active ( bool active )

Activates/deactivates the tween. See also stop_all and resume_all.

Starts the tween. You can define animations both before and after this.

Stops a tween, given its object and property/method pair. By default, all tweens are stopped, unless key is specified.

Stops animating all tweens.

Animates method of object from the value returned by initial_method to final_val for duration seconds, delay seconds later. Methods are animated by calling them with consecutive values.

Use enum TransitionType for trans_type and enum EaseType for ease_type parameters. These values control the timing and direction of the interpolation. See the class description for more information

Animates property of object from the current value of the initial_val property of initial to final_val for duration seconds, delay seconds later.

Use enum TransitionType for trans_type and enum EaseType for ease_type parameters. These values control the timing and direction of the interpolation. See the class description for more information

Returns the current time of the tween.