반응형
유니티 C# 토스트 메시지 간단 구현 예시 코드 작성
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
public class ToastMessage : MonoBehaviour
{
public Text toastText; // UI Text로 사용할 Toast 메시지
public CanvasGroup canvasGroup; // CanvasGroup을 사용해 페이드 효과 적용
public float fadeDuration = 0.5f; // 페이드 인/아웃 시간
public float displayDuration = 2f; // 메시지 표시 시간
private void Start()
{
// 시작할 때 메시지를 숨김
canvasGroup.alpha = 0;
}
// Toast 메시지를 띄우는 함수
public void ShowToast(string message)
{
// 메시지를 설정하고 표시 시작
toastText.text = message;
StartCoroutine(FadeToast());
}
// Toast 메시지의 페이드 인/아웃 및 표시 유지 시간 관리
private IEnumerator FadeToast()
{
// 페이드 인 (메시지가 서서히 나타남)
float elapsedTime = 0f;
while (elapsedTime < fadeDuration)
{
elapsedTime += Time.deltaTime;
canvasGroup.alpha = Mathf.Clamp01(elapsedTime / fadeDuration);
yield return null;
}
// 메시지를 일정 시간 동안 표시
yield return new WaitForSeconds(displayDuration);
// 페이드 아웃 (메시지가 서서히 사라짐)
elapsedTime = 0f;
while (elapsedTime < fadeDuration)
{
elapsedTime += Time.deltaTime;
canvasGroup.alpha = Mathf.Clamp01(1 - (elapsedTime / fadeDuration));
yield return null;
}
// 메시지 숨김
canvasGroup.alpha = 0;
}
}
메세지 띄우기
// 예시: Toast 메시지 띄우기
GetComponent<ToastMessage>().ShowToast("This is a toast message!");
반응형