diff options
author | Tomasz Chabora <kobewi4e@gmail.com> | 2020-09-05 03:05:30 +0200 |
---|---|---|
committer | kobewi <kobewi4e@gmail.com> | 2021-06-19 12:08:50 +0200 |
commit | 900b2e0fdcc12d28a744ae36004b9b2dc7f196d1 (patch) | |
tree | cce0d2056f87c504b081ddfd2fc9dc7614d2c608 /scene/main/node.h | |
parent | 12e0f10c74e9619262f1edcfdc1840432ada0565 (diff) |
Complete rewrite of Tweens
* Tweens were changed from Node to RefCounted. New API is inspired by DOTween.
* Tweens are created and managed by SceneTree, similar to SceneTreeTimer, which makes them ultra cheap to use a lot.
* Animating with Tweens is done by creating sequences of Tweeners. You create them from code and they autostart by default (fire-and-forget).
* There are 4 Tweeners that cover the former Tween functionality: PropertyTweener, IntervalTweener, CallbackTweener and MethodTweener.
* The methods were simplified a lot. Long argument lists are replaced with chained calls on Tweens and Tweeners.
* Tweeners by default execute in sequence, so it's easy to create complex chained animations.
* You can bind a Tween to a node. Tween will be removed automatically when the bound node is freed.
Diffstat (limited to 'scene/main/node.h')
-rw-r--r-- | scene/main/node.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/scene/main/node.h b/scene/main/node.h index e7b36f351b..0d1685a2be 100644 --- a/scene/main/node.h +++ b/scene/main/node.h @@ -41,6 +41,9 @@ class Viewport; class SceneState; +class Tween; +class PropertyTweener; + class Node : public Object { GDCLASS(Node, Object); OBJ_CATEGORY("Nodes"); @@ -308,6 +311,8 @@ public: void remove_and_skip(); int get_index() const; + Ref<Tween> create_tween(); + void print_tree(); void print_tree_pretty(); |