Unity创建按钮点击实现菜单显示和隐藏
具体的效果是点击按钮前没有显示图层开关菜单,点击后显示,并可以进行开关操作,下面我就展示如何制作这个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 Spriteback;
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上即可。
————————————————
版权声明:本文为CSDN博主「hchsen」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010989951/article/details/52171755
页:
[1]