mirror of
https://github.com/ppy/osu.git
synced 2025-01-15 10:02:59 +08:00
Improve transition between multiplayer screens (and share constants)
This commit is contained in:
parent
51f03d0f07
commit
a11862ba0d
@ -305,13 +305,13 @@ namespace osu.Game.Screens.Multi
|
|||||||
switch (newScreen)
|
switch (newScreen)
|
||||||
{
|
{
|
||||||
case LoungeSubScreen _:
|
case LoungeSubScreen _:
|
||||||
header.ResizeHeightTo(400, WaveContainer.APPEAR_DURATION, Easing.OutQuint);
|
header.Delay(MultiplayerSubScreen.RESUME_TRANSITION_DELAY).ResizeHeightTo(400, MultiplayerSubScreen.APPEAR_DURATION, Easing.OutQuint);
|
||||||
headerBackground.MoveToX(0, WaveContainer.DISAPPEAR_DURATION, Easing.OutQuint);
|
headerBackground.MoveToX(0, MultiplayerSubScreen.X_MOVE_DURATION, Easing.OutQuint);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MatchSubScreen _:
|
case MatchSubScreen _:
|
||||||
header.ResizeHeightTo(135, WaveContainer.APPEAR_DURATION, Easing.OutQuint);
|
header.ResizeHeightTo(135, MultiplayerSubScreen.APPEAR_DURATION, Easing.OutQuint);
|
||||||
headerBackground.MoveToX(-200, WaveContainer.DISAPPEAR_DURATION, Easing.OutQuint);
|
headerBackground.MoveToX(-MultiplayerSubScreen.X_SHIFT, MultiplayerSubScreen.X_MOVE_DURATION, Easing.OutQuint);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Framework.Screens;
|
using osu.Framework.Screens;
|
||||||
using osu.Game.Graphics.Containers;
|
|
||||||
|
|
||||||
namespace osu.Game.Screens.Multi
|
namespace osu.Game.Screens.Multi
|
||||||
{
|
{
|
||||||
@ -24,31 +23,41 @@ namespace osu.Game.Screens.Multi
|
|||||||
RelativeSizeAxes = Axes.Both;
|
RelativeSizeAxes = Axes.Both;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public const float X_SHIFT = 200;
|
||||||
|
|
||||||
|
public const double X_MOVE_DURATION = 800;
|
||||||
|
|
||||||
|
public const double RESUME_TRANSITION_DELAY = DISAPPEAR_DURATION / 2;
|
||||||
|
|
||||||
|
public const double APPEAR_DURATION = 800;
|
||||||
|
|
||||||
|
public const double DISAPPEAR_DURATION = 500;
|
||||||
|
|
||||||
public override void OnEntering(IScreen last)
|
public override void OnEntering(IScreen last)
|
||||||
{
|
{
|
||||||
this.FadeInFromZero(WaveContainer.APPEAR_DURATION, Easing.OutQuint);
|
this.FadeInFromZero(APPEAR_DURATION, Easing.OutQuint);
|
||||||
this.FadeInFromZero(WaveContainer.APPEAR_DURATION, Easing.OutQuint);
|
this.FadeInFromZero(APPEAR_DURATION, Easing.OutQuint);
|
||||||
this.MoveToX(200).MoveToX(0, WaveContainer.APPEAR_DURATION, Easing.OutQuint);
|
this.MoveToX(X_SHIFT).MoveToX(0, X_MOVE_DURATION, Easing.OutQuint);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool OnExiting(IScreen next)
|
public override bool OnExiting(IScreen next)
|
||||||
{
|
{
|
||||||
this.FadeOut(WaveContainer.DISAPPEAR_DURATION, Easing.OutQuint);
|
this.FadeOut(DISAPPEAR_DURATION, Easing.OutQuint);
|
||||||
this.MoveToX(200, WaveContainer.DISAPPEAR_DURATION, Easing.OutQuint);
|
this.MoveToX(X_SHIFT, X_MOVE_DURATION, Easing.OutQuint);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnResuming(IScreen last)
|
public override void OnResuming(IScreen last)
|
||||||
{
|
{
|
||||||
this.FadeIn(WaveContainer.APPEAR_DURATION, Easing.OutQuint);
|
this.Delay(RESUME_TRANSITION_DELAY).FadeIn(APPEAR_DURATION, Easing.OutQuint);
|
||||||
this.MoveToX(0, WaveContainer.APPEAR_DURATION, Easing.OutQuint);
|
this.MoveToX(0, X_MOVE_DURATION, Easing.OutQuint);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnSuspending(IScreen next)
|
public override void OnSuspending(IScreen next)
|
||||||
{
|
{
|
||||||
this.FadeOut(WaveContainer.DISAPPEAR_DURATION, Easing.OutQuint);
|
this.FadeOut(DISAPPEAR_DURATION, Easing.OutQuint);
|
||||||
this.MoveToX(-200, WaveContainer.DISAPPEAR_DURATION, Easing.OutQuint);
|
this.MoveToX(-X_SHIFT, X_MOVE_DURATION, Easing.OutQuint);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string ToString() => Title;
|
public override string ToString() => Title;
|
||||||
|
Loading…
Reference in New Issue
Block a user