Copy
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class UGUIEventListener : UnityEngine.EventSystems.EventTrigger
{
public UnityAction<GameObject> onClick;
public override void OnPointerClick(PointerEventData eventData)
{
base.OnPointerClick(eventData);
if (onClick != null)
onClick(gameObject);
}
public static UGUIEventListener Get(GameObject go)
{
UGUIEventListener listener = go.GetComponent<UGUIEventListener>();
if (listener == null)
listener = go.AddComponent<UGUIEventListener>();
return listener;
}
}
Copy
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class Script_05_07 : MonoBehaviour
{
public Button button1;
public Button button2;
public Text text;
public Image image;
private void Awake()
{
button1.onClick.AddListener(delegate () { onClick(button1.gameObject); });
button2.onClick.AddListener(delegate () { onClick(button2.gameObject); });
UGUIEventListener.Get(text.gameObject).onClick=onClick;
UGUIEventListener.Get(image.gameObject).onClick = onClick;
}
public void onClick(GameObject go)
{
if (go == button1.gameObject)
{
Debug.Log("点击按钮1");
}else if (go == button2.gameObject)
{
Debug.Log("点击按钮2");
}
else if (go == text.gameObject)
{
Debug.Log("点击文本");
}
else if(go==image.gameObject)
{
Debug.Log("点击图片");
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律