1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-15 12:02:55 +08:00

Password masking character animation.

This commit is contained in:
Dean Herbert 2017-02-08 16:01:58 +09:00
parent 06695dbf9b
commit 55e7177577
No known key found for this signature in database
GPG Key ID: 46D71BF4958ABB49

View File

@ -1,9 +1,10 @@
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu-framework/master/LICENCE
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.Transformations;
using OpenTK;
using OpenTK.Graphics;
@ -11,17 +12,23 @@ namespace osu.Game.Graphics.UserInterface
{
public class OsuPasswordTextBox : OsuTextBox
{
protected override Drawable GetDrawableCharacter(char c) =>
new Container
protected override Drawable GetDrawableCharacter(char c) => new PasswordMaskChar(CalculatedTextSize);
public class PasswordMaskChar : Container
{
private CircularContainer circle;
public PasswordMaskChar(float size)
{
Size = new Vector2(CalculatedTextSize / 2, CalculatedTextSize),
Size = new Vector2(size / 2, size);
Children = new[]
{
new CircularContainer
circle = new CircularContainer
{
Anchor = Anchor.Centre,
Alpha = 0,
RelativeSizeAxes = Axes.Both,
Size = new Vector2(0.8f),
Size = new Vector2(0.8f, 0),
Children = new[]
{
new Box
@ -31,7 +38,15 @@ namespace osu.Game.Graphics.UserInterface
}
},
}
}
};
};
}
protected override void LoadComplete()
{
base.LoadComplete();
circle.FadeIn(500, EasingTypes.OutQuint);
circle.ResizeTo(new Vector2(0.8f), 500, EasingTypes.OutQuint);
}
}
}
}
}