Unity创建按钮点击实现菜单显示和隐藏

本文介绍如何在Unity中利用UI系统制作一个可展开的菜单控件,包括创建按钮、面板及子控件等步骤,并提供控制显示隐藏的脚本示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在游戏的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上即可。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值