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); } }
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); } }
void Start() { NoteFactory.CreateCircle(new CircleProperty()); StartCoroutine(RunLineIntro()); // StartCoroutine(RunShapes()); StartCoroutine(RunShapes2()); StartCoroutine(RunShapes3()); StartCoroutine(RunShapes4()); StartCoroutine(RunRisingGraph()); StartCoroutine(RunCamera()); StartCoroutine(RunCameraZoom()); //StartCoroutine(RunCameraPosition()); }