Exemplo n.º 1
0
    IEnumerator RunCircles()
    {
        Color[]       colors     = { orange, red, purple };
        System.Action MakeCircle = () => {
            var        randomColor = Color.Lerp(peach, blue, Random.Range(0.0f, 0.5f));
            var        diameter    = CameraHelper.Height * Random.Range(0.7f, 0.8f);
            var        cp          = new CircleProperty(color: randomColor, diameter: diameter, center: CameraHelper.RandomPositionNearCenter(diameter / 2));
            var        anim        = NoteFactory.CreateCircle(cp);
            Keyframe[] kff         = KeyframeHelper.CreateKeyframes(
                0, 0,
                Beat * 4, 1,
                Beat * 6, 1,
                Beat * 8, 0
                );

            anim.DestroyIn(Beat * 9);
            anim.AddAnimationCurve(AnimationKeyPath.Opacity, new AnimationCurve(kff));
        };

        // until measure 40
        foreach (var rest in Loop(64, 0, 2, 0))
        {
            MakeCircle();
            yield return(rest);
        }
    }
Exemplo n.º 2
0
    IEnumerator RunCircles()
    {
        System.Action MakeCircle = () => {
            var        randomColor = colors.Shuffle().First();
            var        diameter    = CameraHelper.Height * Random.Range(0.7f, 0.8f);
            var        cp          = new CircleProperty(color: randomColor, diameter: diameter, center: CameraHelper.RandomPositionNearCenter(diameter / 2));
            var        anim        = NoteFactory.CreateCircle(cp);
            Keyframe[] kff         = KeyframeHelper.CreateKeyframes(
                0, 0,
                Beat * 1, randomColor.a,
                Beat * 7, randomColor.a,
                Beat * 8, 0
                );

            anim.DestroyIn(Beat * 9);
            anim.AddAnimationCurve(AnimationKeyPath.Opacity, new AnimationCurve(kff));
        };

        // until measure 40
        foreach (var rest in Loop(100000000, 0, 2, 0.25f))
        {
            MakeCircle();
            yield return(rest);
        }
    }
Exemplo n.º 3
0
    public static Animatable2 CreateCircle(CircleProperty cp)
    {
        var p = ShapeGOFactory.InstantiateCircle(cp);

        return(p.gameObject.AddComponent <Animatable2>());
    }
Exemplo n.º 4
0
 set => SetValue(CircleProperty, value);