GUIText的淡入淡出

单击按键“A”(随意改变),可以控制GUIText马上显示出来,然后淡出;按住按键“A”,可以使GUIText淡入,如果抬起按键则淡出。

FadeInOut.cs
using UnityEngine;
using System.Collections;

public class FadeInOut : MonoBehaviour {
    public float fadeSpeed = 0.5f;
    private float StartTime  =1;
    private float timeLeft=0.5f;

    void Awake()
    {
        timeLeft = fadeSpeed;
    }
    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
        if (StartTime > 0)
        {
            StartTime = StartTime - Time.deltaTime;
        }
        else
        {
            if (Input.GetKey(KeyCode.A))
            {
                fade(true);
            }
            else
            {
                fade(false);
            }
        }
    }

    public void fade(bool direction)
    {
        float alpha;
        if (direction)
        {
            if (guiText.material.color.a < 1)
            {
                timeLeft = timeLeft - Time.deltaTime;
                alpha = (timeLeft / fadeSpeed);
                guiText.material.color = new Color(1, 1, 1, 1 - alpha);
            }
            else
            {
                timeLeft = fadeSpeed;
            }
        }
        else
        {
            if (guiText.material.color.a > 0)
            {
                timeLeft = timeLeft - Time.deltaTime;
                alpha = (timeLeft / fadeSpeed);
                guiText.material.color = new Color(1, 1, 1, alpha);
            }
            else
            {
                timeLeft = fadeSpeed;
            }
        }
    }
}

 http://pan.ceeger.com/viewfile.php?file_id=1829&file_key=A2AyJnap

原文地址:https://www.cnblogs.com/martianzone/p/3396715.html