UIフリッカ効果

1553 ワード

プレイヤーは攻撃を受けて全画面エッジに赤の滑らかな点滅効果が現れます
Raw Imageのcolorのalpha値を設定して効果を得る
public class Blink : MonoBehaviour {
    static public     Blink ins;
    void Awake()
    {
        ins = this;

    }
	// Use this for initialization
	void Start () {

        StartCoroutine(doBlink());
	}
	
	// Update is called once per frame
	void Update () {
	
	}

    // externl interface to blink
    public void DoBlik()
    {
        StopCoroutine(doBlink());

        StartCoroutine(doBlink());
    }
    IEnumerator doBlink()
    {
        GetComponent<RawImage>().enabled = true;

        float delta=0.1f;

        //fade in
        for (float i = 0; i < 1; i += delta)
        {
            yield return new WaitForSeconds(0);
            GetComponent<RawImage>().color = new Color(1, 1, 1, i);
        }

        delta /= 2.0f;
        //fade out
        for (float i = 1; i > 0; i -= delta)
        {
            yield return new WaitForSeconds(0);
           GetComponent<RawImage>().color = new Color(1, 1, 1, i);
        }


//         for (float i = 0; i < 1; i += delta)
//         {
//             yield return new WaitForSeconds(0);
//             GetComponent<RawImage>().color = new Color(1, 1, 1, i);
//         }
// 
// 
//         for (float i = 1; i > 0; i -= delta)
//         {
//             yield return new WaitForSeconds(0);
//             GetComponent<RawImage>().color = new Color(1, 1, 1, i);
//         }
      
        GetComponent<RawImage>().enabled = false;

    }

}