概要
拡大して表示され、一定時間表示をしたら今度は縮小して消えるメッセージウィンドウの作り方を紹介します。
やり方としては、CoroutineとDoTweenの合わせ技です。
コード
MessageWindow.cs
using System.Collections;
using UnityEngine;
using DG.Tweening;
using TMPro;
//メッセージウィンドウにアタッチして使います
public class MessageWindowCtr : MonoBehaviour
{
[SerializeField] float messageScaleTime = 0.3f;
[SerializeField] float displayTime = 2.5f;
[SerializeField] TextMeshProUGUI MessageText;
public IEnumerator TimeForDisplay(string message)
{
MessageText.text = message;
transform.DOScale(Vector3.one, messageScaleTime);
yield return new WaitForSeconds(displayTime);
transform.DOScale(Vector3.zero, messageScaleTime);
}
//アタッチされたScript上で右クリックを押して動作確認できます
[ContextMenu("testMessage")]
public void testMessage(){
StartCoroutine(TimeForDisplay("これはテストです!"));
}
}