1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-12 17:43:05 +08:00

Change taiko hit explosion animation to match stable for skins

This commit is contained in:
Dean Herbert 2020-04-29 17:53:25 +09:00
parent 0375bbfde1
commit 48733a7e2f
3 changed files with 18 additions and 11 deletions

View File

@ -22,8 +22,14 @@ namespace osu.Game.Rulesets.Taiko.Skinning
{ {
base.LoadComplete(); base.LoadComplete();
this.FadeIn(120); const double animation_time = 120;
this.ScaleTo(0.6f).Then().ScaleTo(1, 240, Easing.OutElastic);
this.FadeInFromZero(animation_time).Then().FadeOut(animation_time * 1.5);
this.ScaleTo(0.6f)
.Then().ScaleTo(1.1f, animation_time * 0.8)
.Then().ScaleTo(0.9f, animation_time * 0.4)
.Then().ScaleTo(1f, animation_time * 0.2);
} }
} }
} }

View File

@ -49,6 +49,9 @@ namespace osu.Game.Rulesets.Taiko.UI
base.LoadComplete(); base.LoadComplete();
this.ScaleTo(3f, 1000, Easing.OutQuint); this.ScaleTo(3f, 1000, Easing.OutQuint);
this.FadeOut(500);
Expire(true);
} }
} }
} }

View File

@ -23,6 +23,12 @@ namespace osu.Game.Rulesets.Taiko.UI
[Cached(typeof(DrawableHitObject))] [Cached(typeof(DrawableHitObject))]
public readonly DrawableHitObject JudgedObject; public readonly DrawableHitObject JudgedObject;
private SkinnableDrawable skinnable;
public override double LifetimeStart => skinnable.Drawable.LifetimeStart;
public override double LifetimeEnd => skinnable.Drawable.LifetimeEnd;
public HitExplosion(DrawableHitObject judgedObject) public HitExplosion(DrawableHitObject judgedObject)
{ {
JudgedObject = judgedObject; JudgedObject = judgedObject;
@ -39,7 +45,7 @@ namespace osu.Game.Rulesets.Taiko.UI
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load() private void load()
{ {
Child = new SkinnableDrawable(new TaikoSkinComponent(getComponentName(JudgedObject.Result?.Type ?? HitResult.Great)), _ => new DefaultHitExplosion()); Child = skinnable = new SkinnableDrawable(new TaikoSkinComponent(getComponentName(JudgedObject.Result?.Type ?? HitResult.Great)), _ => new DefaultHitExplosion());
} }
private TaikoSkinComponents getComponentName(HitResult resultType) private TaikoSkinComponents getComponentName(HitResult resultType)
@ -59,14 +65,6 @@ namespace osu.Game.Rulesets.Taiko.UI
throw new ArgumentOutOfRangeException(nameof(resultType), "Invalid result type"); throw new ArgumentOutOfRangeException(nameof(resultType), "Invalid result type");
} }
protected override void LoadComplete()
{
base.LoadComplete();
this.FadeOut(500);
Expire(true);
}
/// <summary> /// <summary>
/// Transforms this hit explosion to visualise a secondary hit. /// Transforms this hit explosion to visualise a secondary hit.
/// </summary> /// </summary>