ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • UI 응용2 (버튼 클릭시 나머지 버튼 비활성화 시키기)
    유니티/UI 2024. 2. 7. 02:16

    임의로 버튼 3개를 만든다

     

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    
    
    public class UIComponent : MonoBehaviour
    {
        [SerializeField] private Button btn1;
        [SerializeField] private Button btn2;
        [SerializeField] private Button btn3;
    
        void Start()
        {
            this.btn1.onClick.AddListener(() =>
            {
                // 2,3번 비활성화
                this.btn2.gameObject.SetActive(false);
                this.btn3.gameObject.SetActive(false);
            });
        }
    }

    btn1을 누르면 나머지 버튼들을 비활성화로 만드는 스크립트 작성

     

    SetActive는 오브젝트의 활성화, 비활성화를 변경해주는 메서드이다

    스크립트를 UIComponent에 넣어준뒤 이름에 맞게 btn을 넣어준다

     

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    
    
    public class UIComponent : MonoBehaviour
    {
        [SerializeField] private Button btn;
        [SerializeField] private Button[] btns;
        void Start()
        {
            this.btn.onClick.AddListener(() =>
            {
                for(int i = 0; i < btns.Length; i++)
                {
                    Button btn = btns[i];
                    btn.gameObject.SetActive(false);
                }
            });
        }
    }

    배열을 이용해서도 가능하다

     

    설정은 이렇게 바꿔준다

    누르는 순간 나머지 둘이 비활성화 되는것을 볼 수 있다

     

    궁금한건 위 스크립트를 UIComponent에 넣어도 구현되고,

    그냥 btn1에 넣어도 구현이 되는데 둘이 무슨 차이인지는 잘 모르겠다

    '유니티 > UI' 카테고리의 다른 글

    정적 스크롤뷰  (0) 2024.02.15
    UI 응용 총정리  (0) 2024.02.07
    UI 응용1(클릭시 문자열 출력)  (0) 2024.02.07
    버튼 만들기  (1) 2024.02.07
Designed by Tistory.