1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-21 18:07:23 +08:00

Fix much brokenness with kiai and justment sizing

This commit is contained in:
Dean Herbert 2022-11-07 17:12:58 +09:00
parent 2b72c3833b
commit 564d078517
4 changed files with 23 additions and 15 deletions

View File

@ -11,6 +11,7 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Default
public DefaultJudgementPiece(HitResult result)
: base(result)
{
RelativePositionAxes = Axes.Both;
}
public override void PlayAnimation()
@ -18,15 +19,17 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Default
if (Result != HitResult.Miss)
{
this
.MoveToY(0)
.MoveToY(-100, 500);
.MoveToY(-0.6f)
.MoveToY(-1.5f, 500);
JudgementText
.ScaleTo(0.9f)
.ScaleTo(1, 500, Easing.OutElastic);
}
base.PlayAnimation();
this.FadeOutFromOne(800, Easing.OutQuint);
}
else
base.PlayAnimation();
}
}
}

View File

@ -4,6 +4,7 @@
using osu.Framework.Graphics;
using osu.Game.Rulesets.Judgements;
using osu.Game.Rulesets.Scoring;
using osuTK;
using DefaultJudgementPiece = osu.Game.Rulesets.Taiko.Skinning.Default.DefaultJudgementPiece;
namespace osu.Game.Rulesets.Taiko.UI
@ -13,6 +14,15 @@ namespace osu.Game.Rulesets.Taiko.UI
/// </summary>
public class DrawableTaikoJudgement : DrawableJudgement
{
public DrawableTaikoJudgement()
{
Anchor = Anchor.Centre;
Origin = Anchor.Centre;
RelativeSizeAxes = Axes.Both;
Size = Vector2.One;
}
protected override Drawable CreateDefaultJudgement(HitResult result) => new DefaultJudgementPiece(result);
}
}

View File

@ -32,7 +32,7 @@ namespace osu.Game.Rulesets.Taiko.UI
JudgedObject = judgedObject;
this.hitType = hitType;
Anchor = Anchor.CentreLeft;
Anchor = Anchor.Centre;
Origin = Anchor.Centre;
RelativeSizeAxes = Axes.Both;

View File

@ -146,13 +146,16 @@ namespace osu.Game.Rulesets.Taiko.UI
kiaiExplosionContainer = new Container<KiaiHitExplosion>
{
Name = "Kiai hit explosions",
Origin = Anchor.TopCentre,
RelativeSizeAxes = Axes.Both,
FillMode = FillMode.Fit,
},
judgementContainer = new JudgementContainer<DrawableTaikoJudgement>
{
Name = "Judgements",
RelativeSizeAxes = Axes.Y,
Origin = Anchor.TopCentre,
RelativeSizeAxes = Axes.Both,
FillMode = FillMode.Fit,
},
}
},
@ -320,15 +323,7 @@ namespace osu.Game.Rulesets.Taiko.UI
if (!result.Type.IsScorable())
break;
judgementContainer.Add(judgementPools[result.Type].Get(j =>
{
j.Apply(result, judgedObject);
j.Anchor = result.IsHit ? Anchor.TopLeft : Anchor.CentreLeft;
j.Origin = result.IsHit ? Anchor.BottomCentre : Anchor.Centre;
j.RelativePositionAxes = Axes.X;
j.X = result.IsHit ? judgedObject.Position.X : 0;
}));
judgementContainer.Add(judgementPools[result.Type].Get(j => j.Apply(result, judgedObject)));
var type = (judgedObject.HitObject as Hit)?.Type ?? HitType.Centre;
addExplosion(judgedObject, result.Type, type);