Unity創建按鈕點擊實現菜單顯示和隱藏

在遊戲的UI界面製作中我們經常會用到使用菜單來選擇或則開關一些東西,具體的樣式如圖所示:

這裏寫圖片描述這裏寫圖片描述
具體的效果是點擊按鈕前沒有顯示圖層開關菜單,點擊後顯示,並可以進行開關操作,下面我就展示如何製作這個UI控件。
這個功能很常見,但是UGUI上並沒有這個控件,我們可以通過簡單的控件組合來實現這個看似高級的控件。
第一步:
在Hierarchy面板下創建一個button,起名爲bgroup,在inspector面板上的image組件的source image處修改button的貼圖外觀,由於我們的button用不到文字,所以我們把bgroup的子節點的text組件刪除。
第二步:
在bgroup下創建一個panel,起名爲dropdown,調整panel的大小和位置以適合你需要。也可以添加背景圖片。這裏我沒有添加圖片,採用改變color的形式做了一個半透明的背景。接下來給dropdown添加Grid Layout Group組件和Layout Element組件,組件的具體設置如下:
這裏寫圖片描述
第三步:
在dropdown下創建子控件,我這裏標題欄採用圖片,開關採用 toggle控件,你也可以採用其他控件,這些控件都是dropdown的子控件。
第四步:
寫腳本控制點擊事件:
菜單的顯示與隱藏控制:

using UnityEngine;
using System.Collections;
using UnityEngine.UI;//注意這個不能少
//using UnityEditor.Sprites ;
public class tucheng : MonoBehaviour {
    //public GameObject Gmenue;
    public GameObject btnObj ;
    public GameObject caidan;
    public Sprite   expan;
    public Sprite  back;
    Button btn;
    bool isshow=false ;
    // Use this for initialization
    void Start () {
        caidan.SetActive (isshow);
        btn = btnObj.GetComponent<Button>();
        btn.onClick.AddListener(delegate ()
            {
                isshow=!isshow;
                caidan.SetActive (isshow);
                if (isshow)
                {
                    btn.GetComponent<Image>().sprite=expan ;
                }
                else {
                    btn.GetComponent<Image>().sprite=back;
                }
            });
    }

    // Update is called once per frame
    void Update () {

    }
}

將腳本掛載在bgroup上即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章