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 という名前を付けます)。

パネル 1の下に新しいものを作成します: ① 1 つのパネル (パネル 2という名前)、② 3 つのスクロール ビュー (それぞれモデル インターフェイスマテリアル インターフェイスマッピング インターフェイスという名前) を作成し、内側の水平スクロールバーを削除します (これも削除できません)。3 つの新しいものを作成します。 [Panel2] ボタンの下 (それぞれModelMaterialsModelという名前)

そして、Panel2 に Grid Layout Group コンポーネントを追加します

ここに画像の説明を挿入

3. UIManager コードをプルして、キャンバスに配置します。

画像に従ってGameObjectを引き込みます図のように引き込みます

4. 3 つのボタンにクリック イベントを追加します。

ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

5. 位置を調整する

ただ好きなことをしてください


要約する

これは Mengxin の UI 制御に関する理解です。間違っていると思われる場合は、ご指摘ください。ありがとうございます。

おすすめ

転載: blog.csdn.net/lds1942816258/article/details/119108997