mirror of
https://github.com/ppy/osu.git
synced 2025-01-13 13:32:54 +08:00
Add back visual tests and add easing to alpha fade.
This commit is contained in:
parent
a4171253a3
commit
c1ac57e70f
31
osu.Game.Tests/Visual/Gameplay/TestSceneFailingLayer.cs
Normal file
31
osu.Game.Tests/Visual/Gameplay/TestSceneFailingLayer.cs
Normal file
@ -0,0 +1,31 @@
|
||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||
// See the LICENCE file in the repository root for full licence text.
|
||||
|
||||
using NUnit.Framework;
|
||||
using osu.Game.Screens.Play.HUD;
|
||||
|
||||
namespace osu.Game.Tests.Visual.Gameplay
|
||||
{
|
||||
public class TestSceneFailingLayer : OsuTestScene
|
||||
{
|
||||
private readonly FailingLayer layer;
|
||||
|
||||
public TestSceneFailingLayer()
|
||||
{
|
||||
Child = layer = new FailingLayer();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestLayerFading()
|
||||
{
|
||||
AddSliderStep("current health", 0.0, 1.0, 1.0, val =>
|
||||
{
|
||||
layer.Current.Value = val;
|
||||
});
|
||||
|
||||
AddStep("set health to 0.10", () => layer.Current.Value = 0.10);
|
||||
AddWaitStep("wait for fade to finish", 5);
|
||||
AddStep("set health to 1", () => layer.Current.Value = 1f);
|
||||
}
|
||||
}
|
||||
}
|
@ -5,6 +5,7 @@ using System;
|
||||
using osu.Framework.Allocation;
|
||||
using osu.Framework.Graphics;
|
||||
using osu.Framework.Graphics.Shapes;
|
||||
using osu.Framework.Utils;
|
||||
using osu.Game.Graphics;
|
||||
|
||||
namespace osu.Game.Screens.Play.HUD
|
||||
@ -16,6 +17,8 @@ namespace osu.Game.Screens.Play.HUD
|
||||
{
|
||||
private const float max_alpha = 0.4f;
|
||||
|
||||
private const int fade_time = 400;
|
||||
|
||||
private readonly Box box;
|
||||
|
||||
/// <summary>
|
||||
@ -41,7 +44,9 @@ namespace osu.Game.Screens.Play.HUD
|
||||
|
||||
protected override void Update()
|
||||
{
|
||||
box.Alpha = (float)Math.Clamp(max_alpha * (1 - Current.Value / LowHealthThreshold), 0, max_alpha);
|
||||
box.Alpha = (float)Interpolation.ValueAt(Math.Clamp(Clock.ElapsedFrameTime, 0, fade_time), box.Alpha,
|
||||
Math.Clamp(max_alpha * (1 - Current.Value / LowHealthThreshold), 0, max_alpha), 0, fade_time, Easing.Out);
|
||||
|
||||
base.Update();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user