フェードアウト、フェードイン
UIのImageをフェードアウト、フェードインさせる。
using UnityEngine; using System.Collections; using UnityEngine.UI; public class SpriteFadeOut : MonoBehaviour { public float fadeTime = 1f; private float FadeOutAlpha = 1f; private float FadeInAlpha = 0; public Image spImage; public static SpriteFadeOut instance = null; void Awake(){ if(instance == null){ instance = this; } } void Update(){ } void Start () { spImage = this.gameObject.GetComponent<Image>(); } public void FadeOut () { StartCoroutine(FadeOutWait()); } IEnumerator FadeOutWait(){ FadeOutAlpha = fadeTime; do{ yield return new WaitForSeconds(0.05f); FadeOutAlpha -= 0.2f; float alpha = FadeOutAlpha / fadeTime; var color = spImage.color; print(alpha); color.a = alpha; spImage.color = color; }while( FadeOutAlpha > 0); } public void FadeIn () { StartCoroutine(FadeInWait()); } IEnumerator FadeInWait(){ FadeInAlpha = 0; float alpha; do{ yield return new WaitForSeconds(0.05f); FadeInAlpha += 0.2f; alpha = FadeInAlpha / fadeTime; print(alpha); var color = spImage.color; color.a = alpha; spImage.color = color; }while( FadeInAlpha < 1); } }