mirror of
https://github.com/osukey/osukey.git
synced 2025-05-30 01:47:30 +09:00
Fix some discrepancies with the main menu logo transitions
This commit is contained in:
parent
6d6b186fb2
commit
0dafcf00b7
@ -325,52 +325,57 @@ namespace osu.Game.Screens.Menu
|
|||||||
{
|
{
|
||||||
if (logo == null) return;
|
if (logo == null) return;
|
||||||
|
|
||||||
logoDelayedAction?.Cancel();
|
|
||||||
|
|
||||||
switch (state)
|
switch (state)
|
||||||
{
|
{
|
||||||
case MenuState.Exit:
|
case MenuState.Exit:
|
||||||
case MenuState.Initial:
|
case MenuState.Initial:
|
||||||
logoTracking = false;
|
logoDelayedAction?.Cancel();
|
||||||
|
|
||||||
logoDelayedAction = Scheduler.AddDelayed(() =>
|
logoDelayedAction = Scheduler.AddDelayed(() =>
|
||||||
{
|
{
|
||||||
hideOverlaysOnEnter.Value = true;
|
logoTracking = false;
|
||||||
allowOpeningOverlays.Value = false;
|
|
||||||
|
|
||||||
logo.ClearTransforms(targetMember: nameof(Position));
|
hideOverlaysOnEnter.Value = true;
|
||||||
logo.RelativePositionAxes = Axes.Both;
|
allowOpeningOverlays.Value = false;
|
||||||
|
|
||||||
logo.MoveTo(new Vector2(0.5f), 800, Easing.OutExpo);
|
logo.ClearTransforms(targetMember: nameof(Position));
|
||||||
logo.ScaleTo(1, 800, Easing.OutExpo);
|
logo.RelativePositionAxes = Axes.Both;
|
||||||
}, 150);
|
|
||||||
|
|
||||||
|
logo.MoveTo(new Vector2(0.5f), 800, Easing.OutExpo);
|
||||||
|
logo.ScaleTo(1, 800, Easing.OutExpo);
|
||||||
|
}, buttonArea.Alpha * 150);
|
||||||
break;
|
break;
|
||||||
case MenuState.TopLevel:
|
case MenuState.TopLevel:
|
||||||
case MenuState.Play:
|
case MenuState.Play:
|
||||||
logo.ClearTransforms(targetMember: nameof(Position));
|
|
||||||
logo.RelativePositionAxes = Axes.None;
|
|
||||||
|
|
||||||
switch (lastState)
|
switch (lastState)
|
||||||
{
|
{
|
||||||
case MenuState.TopLevel: // coming from toplevel to play
|
case MenuState.TopLevel: // coming from toplevel to play
|
||||||
|
break;
|
||||||
case MenuState.Initial:
|
case MenuState.Initial:
|
||||||
logoTracking = false;
|
logo.ClearTransforms(targetMember: nameof(Position));
|
||||||
logo.ScaleTo(0.5f, 200, Easing.In);
|
logo.RelativePositionAxes = Axes.None;
|
||||||
|
|
||||||
|
bool impact = logo.Scale.X > 0.6f;
|
||||||
|
|
||||||
|
if (lastState == MenuState.Initial)
|
||||||
|
logo.ScaleTo(0.5f, 200, Easing.In);
|
||||||
|
|
||||||
logo.MoveTo(logoTrackingPosition, lastState == MenuState.EnteringMode ? 0 : 200, Easing.In);
|
logo.MoveTo(logoTrackingPosition, lastState == MenuState.EnteringMode ? 0 : 200, Easing.In);
|
||||||
|
|
||||||
|
logoDelayedAction?.Cancel();
|
||||||
logoDelayedAction = Scheduler.AddDelayed(() =>
|
logoDelayedAction = Scheduler.AddDelayed(() =>
|
||||||
{
|
{
|
||||||
logoTracking = true;
|
logoTracking = true;
|
||||||
|
|
||||||
logo.Impact();
|
if (impact)
|
||||||
|
logo.Impact();
|
||||||
|
|
||||||
hideOverlaysOnEnter.Value = false;
|
hideOverlaysOnEnter.Value = false;
|
||||||
allowOpeningOverlays.Value = true;
|
allowOpeningOverlays.Value = true;
|
||||||
}, 200);
|
}, (1 - buttonArea.Alpha) * 200);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
logo.ClearTransforms(targetMember: nameof(Position));
|
||||||
|
logo.RelativePositionAxes = Axes.None;
|
||||||
logoTracking = true;
|
logoTracking = true;
|
||||||
logo.ScaleTo(0.5f, 200, Easing.OutQuint);
|
logo.ScaleTo(0.5f, 200, Easing.OutQuint);
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user