Пример #1
0
        IEnumerator Hurting(float duration)
        {
            foreach (float alpha in AlphaCurve.Power(duration, 3.0F))
            {
                hurt.color = Color.Lerp(colorHurt, Color.clear, alpha);

                yield return(null);
            }
        }
Пример #2
0
        IEnumerator ShowMessage(float duration)
        {
            foreach (float alpha in AlphaCurve.PowerInverse(duration, 3.0F))
            {
                graphic.color = new Color(1.0F, 1.0F, 1.0F, alpha);

                yield return(null);
            }
        }
Пример #3
0
        private IEnumerator Tracing(Vector3 from, Vector3 to, float speed, float length, Color color)
        {
            float distance = Vector3.Distance(from, to);
            float duration = distance / speed;

            Tracer tracer = tracerPool.Poll();

            foreach (float alpha in AlphaCurve.Linear(duration))
            {
                Vector3 tip  = Vector3.Lerp(from, to, alpha);
                Vector3 tail = Vector3.Lerp(from, to, alpha - length / distance);

                tracer.SetPoints(tip, tail);

                yield return(null);
            }

            (tracer as IPoolable)?.RequestReclaim();
        }
Пример #4
0
    // Update is called once per frame
    void Update()
    {
        timer += Time.deltaTime;
        //位置
        var pos = transform.position;

        pos.y = PosyCurve.Evaluate(timer);
        transform.position = pos;

        //半透明
        Color c = new Color(1, 1, 1, AlphaCurve.Evaluate(timer));

        transform.Find("SpriteBigHantei").GetComponent <SpriteRenderer>().color   = c;
        transform.Find("SpriteSmallHantei").GetComponent <SpriteRenderer>().color = c;

        //タイムアップ
        if (timer > 0.3f)
        {
            Destroy(gameObject);
        }
    }