unity 点击事件 点击 按钮还是屏幕

ugui做的unity2d点击事件要判断点击的是按钮还是屏幕... ugui做的unity2d点击事件 要判断点击的是按钮还是屏幕 展开
 我来答
dcpromowang
推荐于2016-08-17 · TA获得超过907个赞
知道小有建树答主
回答量:734
采纳率:100%
帮助的人:465万
展开全部
当然是监听按钮 或者 你的图片啦。

方式一:比较麻烦,每个要接收点击的都要手动添加组件并设定。
给你要接收点击物体添加组件EventTrigger,设置一下返回的类和方式就行了。
--------------------------------------------------
方式二:把我写的这脚本放到你项目里
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
/// <summary>
/// Author: wbq
/// 事件触发封装 - 需要什么事件可扩展
/// Event trigger listener.
/// </summary>
public class EventTriggerListener : MonoBehaviour ,IPointerClickHandler,IPointerDownHandler,IPointerEnterHandler,IPointerExitHandler,IPointerUpHandler{
public delegate void VoidDelegate (GameObject go);
public VoidDelegate onClick;
public VoidDelegate onDown;
public VoidDelegate onEnter;
public VoidDelegate onExit;
public VoidDelegate onUp;
static public EventTriggerListener Get (GameObject go){
    EventTriggerListener listener = go.GetComponent<EventTriggerListener>();
    if (listener == null) listener = go.AddComponent<EventTriggerListener>();
        return listener;
    }
    public void OnPointerClick(PointerEventData eventData){
        if(onClick != null) onClick(gameObject);
    }
    public void OnPointerDown (PointerEventData eventData){
        if(onDown != null) onDown(gameObject);
    }
    public void OnPointerEnter (PointerEventData eventData){
        if(onEnter != null) onEnter(gameObject);
    }
    public void OnPointerExit (PointerEventData eventData){
        if(onExit != null) onExit(gameObject);
    }
    public void OnPointerUp (PointerEventData eventData){
        if(onUp != null) onUp(gameObject);
    }
}
***********************
这是一个静态类,用委托来传递你想要的事件。比如你再某个类中要监听你的 YourButton。
EventTriggerListener.Get(YourButton).onClick = onClickButtonHandler;
private void onClickButtonHandler( GameObject obj ){
    Debug.log("点击到了你的按钮");


.onClick 可以换成其他的事件,如按下、抬起、划过等。我给你写的脚本只有几个事件,需要其他的你可以自己在那个类里再扩展
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式