
表示させた文字列をすー…っと消えていくやり方
Text のフェードアウト
アニメーションを使わず、コルーチンで表現させていきます。
テキスト以外にもImageなんかでも使えるかも
サンプルコード
いきなりコードから
public class Fadeout : MonoBehaviour
{
[SerializeField] private Text Hogehoge;
public void BtnCallBack()
{
StartCoroutine(AnimationText(Hogehoge));
}
private IEnumerator AnimationText(Text _obj)
{
bool flag = true;
float a_col = 1;
var colortemp = _obj.color;
while (flag)
{
_obj.color = new Color(colortemp.r, colortemp.g, colortemp.b, a_col);
a_col -= Time.deltaTime;
yield return new WaitForEndOfFrame();
if (a_col < 0)
{
a_col = 0;
flag = false;
}
}
}
}このスクリプトを適当なオブジェクトにアタッチさせ、Hogehogeに消したいオブジェクトを、ボタンにBtnCallbackをアタッチさせれば完成!
余計な処理を挟んでる気がします(´ . .̫ . `)
解説
テキストカラーのアルファ値を徐々に0に近づけていく処理です。
(RGBAのAの値)
本来ならcolor指定は float型で各値ごとに255fで除算しなければなりませんが、アルファ値は1~0で表現できるようです。
1から0になるまでwhileでループさせ,deltaTime毎にマイナスさせています。