ソースを参照

Fix AnimationPlayer cumulative speed_scale

(cherry picked from commit 87a6145135bb063477d8b12a52639b8582e54a9f)
kobewi 2 年 前
コミット
13a030de06
1 ファイル変更2 行追加2 行削除
  1. 2 2
      scene/animation/animation_player.cpp

+ 2 - 2
scene/animation/animation_player.cpp

@@ -1766,7 +1766,7 @@ void AnimationPlayer::set_current_animation(const String &p_anim) {
 	} else if (!is_playing()) {
 		play(p_anim);
 	} else if (playback.assigned != p_anim) {
-		float speed = get_playing_speed();
+		float speed = playback.current.speed_scale;
 		play(p_anim, -1.0, speed, signbit(speed));
 	} else {
 		// Same animation, do not replay from start
@@ -1779,7 +1779,7 @@ String AnimationPlayer::get_current_animation() const {
 
 void AnimationPlayer::set_assigned_animation(const String &p_anim) {
 	if (is_playing()) {
-		float speed = get_playing_speed();
+		float speed = playback.current.speed_scale;
 		play(p_anim, -1.0, speed, signbit(speed));
 	} else {
 		ERR_FAIL_COND_MSG(!animation_set.has(p_anim), vformat("Animation not found: %s.", p_anim));