有时我们需要点击屏幕实时响应某事件A,但当需要点击某个按钮响应另一事件B时,也同样会带动A的响应,而我们不想A响应,此时就需要我们判断区分一下,那么就需要实时监听鼠标或手指点击的是按钮还是屏幕了。
创建一个脚本“ButtonEventTrigger”,将其挂在“Canvas”上,如图所示:
代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class ButtonEventTrigger : MonoBehaviour {
private Button _button;
public bool m_bool;//鼠标划入Button区域时为true
void Start () {
_button = this.transform.Find("Button").GetComponent<Button>();
_button.onClick.AddListener(delegate() { ClickButton(); });
MonitorMouse(_button);
MonitorMouse1(_button);
}
void Update () {
if (!m_bool)
{
if (Input.GetM