1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-20 16:03:01 +08:00

Fix multiple animation inconsistencies pointed out in review

This commit is contained in:
Dean Herbert 2025-01-07 16:54:11 +09:00
parent 794765ba85
commit 8d913e8971
No known key found for this signature in database
2 changed files with 10 additions and 3 deletions

View File

@ -104,9 +104,9 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon
main.Scale = new Vector2(Interpolation.ValueAt(loopCurrentTime, scale_amount, 1f, move_out_duration, move_out_duration + move_in_duration, Easing.Out));
if (loopCurrentTime < move_out_duration)
side.X = Interpolation.ValueAt(loopCurrentTime, 1, move_distance, 0, move_out_duration, Easing.Out);
side.X = Interpolation.ValueAt(loopCurrentTime, 0, move_distance, 0, move_out_duration, Easing.Out);
else
side.X = Interpolation.ValueAt(loopCurrentTime, move_distance, 1f, move_out_duration, move_out_duration + move_in_duration, Easing.Out);
side.X = Interpolation.ValueAt(loopCurrentTime, move_distance, 0, move_out_duration, move_out_duration + move_in_duration, Easing.Out);
}
}
}

View File

@ -96,9 +96,16 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy
double loopCurrentTime = (Time.Current - drawableRepeat.AnimationStartTime.Value) % duration;
// Reference: https://github.com/peppy/osu-stable-reference/blob/2280c4c436f80d04f9c79d3c905db00ac2902273/osu!/GameplayElements/HitObjects/Osu/HitCircleSliderEnd.cs#L79-L96
if (shouldRotate)
{
arrow.Rotation = Interpolation.ValueAt(loopCurrentTime, rotation, -rotation, 0, duration);
arrow.Scale = new Vector2(Interpolation.ValueAt(loopCurrentTime, 1.3f, 1, 0, duration));
arrow.Scale = new Vector2(Interpolation.ValueAt(loopCurrentTime, 1.3f, 1, 0, duration));
}
else
{
arrow.Scale = new Vector2(Interpolation.ValueAt(loopCurrentTime, 1.3f, 1, 0, duration, Easing.Out));
}
}
}