summaryrefslogtreecommitdiffstats
path: root/scene/animation/tween.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/animation/tween.cpp')
-rw-r--r--scene/animation/tween.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/scene/animation/tween.cpp b/scene/animation/tween.cpp
index b32b04655d..bf01898402 100644
--- a/scene/animation/tween.cpp
+++ b/scene/animation/tween.cpp
@@ -546,8 +546,9 @@ void PropertyTweener::start() {
return;
}
- if (do_continue) {
+ if (do_continue && Math::is_zero_approx(delay)) {
initial_val = target_instance->get_indexed(property);
+ do_continue = false;
}
if (relative) {
@@ -572,6 +573,10 @@ bool PropertyTweener::step(double &r_delta) {
if (elapsed_time < delay) {
r_delta = 0;
return true;
+ } else if (do_continue && !Math::is_zero_approx(delay)) {
+ initial_val = target_instance->get_indexed(property);
+ delta_val = Animation::subtract_variant(final_val, initial_val);
+ do_continue = false;
}
double time = MIN(elapsed_time - delay, duration);