嘿伙计们,我正在Unity制作一本钱包。在右上角有一个菜单按钮,我编写了一个链接下拉列表,可以将您带到钱包的不同页面。现在,使列表消失的唯一方法是再次单击菜单按钮,这是不方便的。我希望用户能够通过点击屏幕上的任何其他位置来禁用菜单(我创建了一个覆盖屏幕其余部分的隐形按钮,唯一的问题是我希望它仅在滚动菜单处于活动状态时才处于活动状态)像一个普通的菜单屏幕。这是我为它创建的代码。菜单按钮是菜单按钮,关闭按钮是我创建的按钮,覆盖屏幕的其余部分,我只是在滚动菜单启动时努力使按钮处于活动状态,否则会阻止用户滚动浏览页面。感谢
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MenuButton : MonoBehaviour {
public GameObject scrollMenu;
public Button menuButton, closeButton;
public bool active = false;
// Use this for initialization
void Start () {
Button btn = menuButton.GetComponent<Button>();
btn.onClick.AddListener(TaskOnClick);
closeButton.enabled = false;
}
// Update is called once per frame
public void TaskOnClick ()
{
if (active == false)
{
scrollMenu.SetActive(true);
active = true;
closeButton.GetComponent<Button>().interactable = true;
} else
{
scrollMenu.SetActive(false);
active = false;
}
}
}