fix slider followcircle shrink animations showing on repeats

This commit is contained in:
yugecin 2017-02-25 23:45:22 +01:00
parent 9c31cd63ba
commit 5ccc863a17

View File

@ -976,6 +976,17 @@ public class GameData {
Colors.WHITE_FADE.a = oldWhiteAlpha; Colors.WHITE_FADE.a = oldWhiteAlpha;
hitResult.color.a = oldColorAlpha; hitResult.color.a = oldColorAlpha;
} }
// slider follow circle
if (hitResult.expand) {
float progress = AnimationEquation.OUT_CUBIC.calc((float) Utils.clamp(trackPosition - hitResult.time, 0, FOLLOWCIRCLE_FADE_TIME) / FOLLOWCIRCLE_FADE_TIME);
float scale = 1f - 0.2f * progress;
float alpha = 1f - progress;
Image fc = GameImage.SLIDER_FOLLOWCIRCLE.getImage().getScaledCopy(scale);
fc.setAlpha(alpha);
fc.drawCentered(hitResult.x, hitResult.y);
}
if (!Options.isDrawSliderEndCircles()) { if (!Options.isDrawSliderEndCircles()) {
return; return;
} }
@ -993,17 +1004,6 @@ public class GameData {
return; return;
} }
// slider follow circle
if (hitResult.expand && (
hitResult.hitResultType == HitObjectType.SLIDER_FIRST || hitResult.hitResultType == HitObjectType.SLIDER_LAST)) {
float progress = AnimationEquation.OUT_CUBIC.calc((float) Utils.clamp(trackPosition - hitResult.time, 0, FOLLOWCIRCLE_FADE_TIME) / FOLLOWCIRCLE_FADE_TIME);
float scale = 1f - 0.2f * progress;
float alpha = 1f - progress;
Image fc = GameImage.SLIDER_FOLLOWCIRCLE.getImage().getScaledCopy(scale);
fc.setAlpha(alpha);
fc.drawCentered(hitResult.x, hitResult.y);
}
// hit circles // hit circles
float progress = AnimationEquation.OUT_CUBIC.calc( float progress = AnimationEquation.OUT_CUBIC.calc(
(float) Utils.clamp(trackPosition - hitResult.time, 0, HITCIRCLE_FADE_TIME) / HITCIRCLE_FADE_TIME); (float) Utils.clamp(trackPosition - hitResult.time, 0, HITCIRCLE_FADE_TIME) / HITCIRCLE_FADE_TIME);