유니티 버튼 클릭 이미지 변경하는 방법

2024. 9. 5. 22:28·Unity
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class ButtonImageChanger : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
    private Button _button; //버튼
    private Image _buttonImage; //버튼 이미지
    
    [SerializeField] private Sprite normalImage; // 기본 이미지 
    [SerializeField] private Sprite pressedImage; // 눌림 이미지
    
    private void Awake()
    {
        _button = GetComponent<Button>(); //버튼 컴포넌트
        _buttonImage = GetComponent<Image>(); //버튼 이미지 컴포넌트
    }

    public void OnPointerDown(PointerEventData eventData)
    {
        if (_button.interactable)
        {
            _buttonImage.sprite = pressedImage;
        }
    }

    public void OnPointerUp(PointerEventData eventData)
    {
        if (_button.interactable)
        {
            _buttonImage.sprite = normalImage;
        }
    }
}

 

유니티에서 기본으로 제공하는 버튼 UI는 눌렀을 때, 컬러 값은 변경할 수 있지만 이미지는 변경할 수 없다.

버튼 클릭시 이미지를 변경하고 싶다면 인터페이스를 추가하여 처리를 해야한다.

'Unity' 카테고리의 다른 글

[Unity 6 Challenge] 김치 런  (0) 2025.01.06
Unity에서 .Blender 파일 오류  (0) 2025.01.04
유니티 모바일 프레임  (0) 2024.07.28
[유니티] InputSystem이 동작안하는 오류  (0) 2024.07.14
[유니티] You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.  (0) 2024.07.14
'Unity' 카테고리의 다른 글
  • [Unity 6 Challenge] 김치 런
  • Unity에서 .Blender 파일 오류
  • 유니티 모바일 프레임
  • [유니티] InputSystem이 동작안하는 오류
하길
하길
게임 개발을 위한 나의 모든 지식의 총 집합체
  • 하길
    Until Dawn
    하길
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (140)
      • Unreal Engine 5 (0)
      • Unity (41)
        • 3D (5)
        • 2D (7)
      • C++ (13)
      • C# (11)
      • 알고리즘 (35)
      • TIL (22)
      • 기타 (1)
      • 대장간 (12)
      • 메모 (2)
      • 게임리뷰 (0)
      • 일상 (0)
        • 챌린지 (0)
      • Article (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
하길
유니티 버튼 클릭 이미지 변경하는 방법
상단으로

티스토리툴바