Релиз

This commit is contained in:
Евгений Титаренко 2024-08-25 23:12:57 +03:00
parent 920f05b3a3
commit 4df78a4ccf
8 changed files with 204 additions and 5 deletions

View file

@ -6,7 +6,8 @@ public partial class Startup : Node2D
private enum State
{
Default,
Transition
TransitionIn,
TransitionOut
}
private State _state = State.Default;
@ -22,12 +23,13 @@ public partial class Startup : Node2D
{
_colorRect = (ColorRect)FindChild("ColorRect");
_music = (AudioStreamPlayer)FindChild("AudioStreamPlayer");
_state = State.TransitionIn;
}
// Called every frame. 'delta' is the elapsed time since the previous frame.
public override void _PhysicsProcess(double delta)
{
if (_state == State.Transition)
if (_state == State.TransitionOut)
{
_transitionTimeout += delta;
// _colorRect.Color = _colorRect.Color.Lerp(new Color(0, 0, 0, 255), (float)_transitionTimeout/2);
@ -38,13 +40,32 @@ public partial class Startup : Node2D
GetNode<SceneManager>("/root/SceneManager").SwitchScene("Day1");
}
}
if (_state == State.TransitionIn)
{
if (_transitionTimeout < 2)
{
_transitionTimeout += delta;
// _colorRect.Color = _colorRect.Color.Lerp(new Color(0, 0, 0, 255), (float)_transitionTimeout/2);
_colorRect.Color = new Color(0, 0, 0, Mathf.Lerp(1, 0, (float)_transitionTimeout/2));
_music.VolumeDb = Mathf.Lerp(-40, 0, (float)_transitionTimeout/2);
}
else
{
_state = State.Default;
_transitionTimeout = 0;
}
}
}
public override void _Input(InputEvent @event)
{
if (@event.IsActionPressed("Interact"))
{
_state = State.Transition;
_state = State.TransitionOut;
}
if (@event.IsActionPressed("ui_cancel"))
{
GetTree().Quit();
}
}
}