UnityUI의 동일한 인터페이스에서 다른 버튼을 클릭하여 해당 UI 패널을 표시합니다.


머리말

동일한 인터페이스를 실현하고 다른 버튼을 클릭하여 해당 UI 패널을 표시하기만 하면 됩니다.


팁: 다음은 이 기사의 텍스트이며, 다음 사례는 참고용입니다.

1. UIManager라는 새 C# 코드 생성

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UIManager : MonoBehaviour
{
    
    
    //公开定义三个GameObject类用来表示三个UI界面
    public GameObject UIModel;
    public GameObject UIMaterial;
    public GameObject UIMapping;
    void Start()
    {
    
    
        Status = UIStatus.Model;//在start方法中给属性赋值Model,让游戏一开始就显示Model模型界面
    }

    public enum UIStatus//定义枚举,列举UI显示的三种情况
    {
    
    
        Model,
        Material,
        Mapping
    }
    private UIStatus uistatus;//创建枚举变量
    private UIStatus Status//定义属性给枚举变量赋值
    {
    
    
        get
        {
    
    
            return uistatus;
        }
        set
        {
    
    
            uistatus = value;
            UpdateUI();//在给枚举变量赋值后调用UI显示方法,控制UI的显示
        }

    }
    public void UpdateUI()//定义UI显示的方法,通过枚举变量的值来判断
    {
    
    
        UIModel.SetActive(uistatus == UIStatus.Model);
        UIMaterial.SetActive(uistatus == UIStatus.Material);
        UIMapping.SetActive(uistatus == UIStatus.Mapping);
    }
    public void Model()//显示Model模型界面的方法
    {
    
    
        Status = UIStatus.Model;//给属性Status赋值,赋值的同时调用了UpdateUI方法
    }
    public void Material()//显示Material材质界面的方法
    {
    
    
        Status = UIStatus.Material;
    }
    public void Mapping()//显示Mapping贴图界面的方法
    {
    
    
        Status = UIStatus.Mapping;
    }
}

2. 장면에 새 패널을 만듭니다(이름을 Panel1로 지정).

Panel1 아래에 새로 만들기 : ① 패널( Panel2 ), ② 3개의 스크롤 뷰( 각각 Model Interface , Material Interface , Mapping Interface 로 이름 지정 ) 및 Scrollbar Horizontal 내부를 삭제(삭제할 수 없음); 새 3개 생성 Panel2 버튼 아래( 각각 Model , Material , Model 로 명명됨 )

그리고 Panel2에 Grid Layout Group 컴포넌트를 추가합니다.

여기에 이미지 설명 삽입

3. UIManager 코드를 당겨 캔버스에 넣습니다.

그림에 따라 GameObject를 당깁니다.그림과 같이 당겨주세요

4. 3개의 버튼에 클릭 이벤트 추가

여기에 이미지 설명 삽입

여기에 이미지 설명 삽입

여기에 이미지 설명 삽입

5. 위치 조정

그냥 당신이 좋아하는 것을


요약하다

UI 컨트롤에 대한 Mengxin의 이해입니다.잘못되었다고 생각되면 지적할 수 있습니다.감사합니다!

추천

출처blog.csdn.net/lds1942816258/article/details/119108997