mirror of
https://github.com/godotengine/godot.git
synced 2024-11-26 06:03:38 +00:00
Fix Tween loop initial value
This commit is contained in:
parent
d76c1d0e51
commit
20aecefd9b
@ -549,9 +549,12 @@ void PropertyTweener::start() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (do_continue && Math::is_zero_approx(delay)) {
|
||||
initial_val = target_instance->get_indexed(property);
|
||||
do_continue = false;
|
||||
if (do_continue) {
|
||||
if (Math::is_zero_approx(delay)) {
|
||||
initial_val = target_instance->get_indexed(property);
|
||||
} else {
|
||||
do_continue_delayed = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (relative) {
|
||||
@ -576,10 +579,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)) {
|
||||
} else if (do_continue_delayed && !Math::is_zero_approx(delay)) {
|
||||
initial_val = target_instance->get_indexed(property);
|
||||
delta_val = Animation::subtract_variant(final_val, initial_val);
|
||||
do_continue = false;
|
||||
do_continue_delayed = false;
|
||||
}
|
||||
|
||||
double time = MIN(elapsed_time - delay, duration);
|
||||
|
@ -225,6 +225,7 @@ private:
|
||||
|
||||
double delay = 0;
|
||||
bool do_continue = true;
|
||||
bool do_continue_delayed = false;
|
||||
bool relative = false;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user