1. Button 이벤트 트리거 활용

Unity의 Button 컴포넌트에 클릭 이벤트를 추가해서 버튼을 눌렀을 때 색을 변경하는 방식입니다.

구현 방법

  1. 버튼에 클릭 이벤트를 추가합니다.
  2. 버튼 클릭 시 색깔을 변경하고 0.5초 후 원래 색으로 복구하는 코드를 작성합니다.
csharp
코드 복사
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class ButtonEffect : MonoBehaviour
{
    private Button button;
    private Image buttonImage;
    private Color originalColor;
    private Color transparentColor;

    void Start()
    {
        button = GetComponent<Button>();
        buttonImage = GetComponent<Image>();

        if (buttonImage != null)
        {
            originalColor = buttonImage.color;
            transparentColor = new Color(originalColor.r, originalColor.g, originalColor.b, 0.5f); // 반투명 색
        }

        // 버튼 클릭 이벤트에 리스너 추가
        if (button != null)
        {
            button.onClick.AddListener(() => StartCoroutine(HandleTransparency()));
        }
    }

    private IEnumerator HandleTransparency()
    {
        if (buttonImage != null)
        {
            buttonImage.color = transparentColor; // 색을 반투명으로 변경
            yield return new WaitForSeconds(0.5f); // 0.5초 대기
            buttonImage.color = originalColor;    // 원래 색으로 복구
        }
    }
}