如下:
using UnityEngine;
using UnityEngine.EventSystems;
public class MouseDownOutClose : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
[SerializeField]
RectTransform _rectTransform;
bool PointerIn = false;
public void OnPointerEnter(PointerEventData eventData)
{
PointerIn = true;
}
public void OnPointerExit(PointerEventData eventData)
{
PointerIn = false;
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
if (!PointerIn)
{
_rectTransform.gameObject.SetActive(false);
}
}
}
}