유니티에서 버튼을 선택했을때 스프라이트 교체

yoon·2026년 1월 8일

Unity

목록 보기
7/8

오늘은 유니티에서 버튼에 있는 Sprite Swap기능으로 스프라이트 교체가 되는것이 아닌 방법을 소개하겠습니다

이 방법을 사용하면 다른 곳을 누르면 바로 풀리는 문제가 있어서 제미나이한테 물어봐서 해결했습니당

일단 이 코드가 제일 중요한데 버튼의 interactable 기능을 이용했습니다!

private void Switch(JamoDefsType type)
    {
        _current = type;
        
        // 선택된 탭은 클릭이 안 되게(interactable = false) 만들어서
        // 인스펙터에서 설정한 'Disabled Sprite(흰 테두리)'가 보이도록 함
        if (btnConsonant != null) 
            btnConsonant.interactable = (type != JamoDefsType.Consonant);

        if (btnVowel != null) 
            btnVowel.interactable = (type != JamoDefsType.Vowel);

        RebuildGrid(type == JamoDefsType.Consonant ? JamoDefs.Consonants : JamoDefs.Vowels);
    }

interactable가 꺼져있으면 버튼 상호작용이 불가능하게 되고, 켜져있으면 버튼과 상호작용이 가능한 기능인데 버튼을 누르는 순간 interactable이 false가 되면서 Disabled Sprite를 보여주는 것임

  • Disabled Sprite : 버튼이 비활성화되었을때 보여줄 스프라이트

0개의 댓글