1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-16 06:57:19 +08:00

Adjust lighting and timing of key area in general

This commit is contained in:
Dean Herbert 2022-10-07 19:27:00 +09:00
parent 551b7f0d1c
commit 08c3f3ae6d

View File

@ -10,6 +10,7 @@ using osu.Framework.Graphics.Effects;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Input.Bindings;
using osu.Framework.Input.Events;
using osu.Framework.Utils;
using osu.Game.Graphics;
using osu.Game.Rulesets.Mania.UI;
using osu.Game.Rulesets.UI.Scrolling;
@ -65,7 +66,6 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
{
Name = "Key gradient",
Alpha = 0,
Blending = BlendingParameters.Additive,
RelativeSizeAxes = Axes.Both,
},
},
@ -149,7 +149,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
accentColour = column.AccentColour.GetBoundCopy();
accentColour.BindValueChanged(colour =>
{
background.Colour = colour.NewValue.Darken(1f);
background.Colour = colour.NewValue.Darken(0.2f);
bottomIcon.Colour = colour.NewValue;
},
true);
@ -180,18 +180,19 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
{
if (e.Action != column.Action.Value) return false;
const double lighting_fade_in_duration = 50;
Color4 lightingColour = accentColour.Value.Lighten(0.9f);
const double lighting_fade_in_duration = 70;
Color4 lightingColour = getLightingColour();
background
.FadeTo(1, 40).Then()
.FadeTo(0.8f, 150, Easing.OutQuint);
.FadeTo(1, lighting_fade_in_duration, Easing.OutQuint)
.Then()
.FadeTo(0.6f, 500, Easing.In);
hitTargetLine.FadeColour(Color4.White, lighting_fade_in_duration, Easing.OutQuint);
hitTargetLine.TransformTo(nameof(EdgeEffect), new EdgeEffectParameters
{
Type = EdgeEffectType.Glow,
Colour = lightingColour.Opacity(0.7f),
Colour = lightingColour.Opacity(0.4f),
Radius = 20,
}, lighting_fade_in_duration, Easing.OutQuint);
@ -210,7 +211,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
circle.TransformTo(nameof(EdgeEffect), new EdgeEffectParameters
{
Type = EdgeEffectType.Glow,
Colour = lightingColour.Opacity(0.3f),
Colour = lightingColour.Opacity(0.2f),
Radius = 60,
}, lighting_fade_in_duration, Easing.OutQuint);
}
@ -222,10 +223,14 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
{
if (e.Action != column.Action.Value) return;
const double lighting_fade_out_duration = 300;
Color4 lightingColour = accentColour.Value.Lighten(0.9f).Opacity(0);
const double lighting_fade_out_duration = 800;
background.FadeTo(0, lighting_fade_out_duration, Easing.OutQuint);
Color4 lightingColour = getLightingColour().Opacity(0);
// background fades out faster than lighting elements to give better definition to the player.
background.FadeTo(0.3f, 50, Easing.OutQuint)
.Then()
.FadeOut(lighting_fade_out_duration, Easing.OutQuint);
topIcon.ScaleTo(1f, 200, Easing.OutQuint);
topIcon.TransformTo(nameof(EdgeEffect), new EdgeEffectParameters
@ -255,5 +260,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
}, lighting_fade_out_duration, Easing.OutQuint);
}
}
private Color4 getLightingColour() => Interpolation.ValueAt(0.2f, accentColour.Value, Color4.White, 0, 1);
}
}