EventTrigger接管所有事件导致其他事件无法触发
来源:互联网 发布:零用钱大作战mac 编辑:程序博客网 时间:2024/06/06 13:42
解决:
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
publicclassEventTriggerListener : EventTrigger
{
publicdelegatevoidVoidDelegate(GameObject go);
publicVoidDelegate onClick;
publicVoidDelegate onDown;
publicVoidDelegate onEnter;
publicVoidDelegate onExit;
publicVoidDelegate onUp;
publicVoidDelegate onSelect;
publicVoidDelegate onUpdateSelect;
staticpublicEventTriggerListener Get(GameObject go)
{
EventTriggerListener listener = go.GetComponent<EventTriggerListener>();
if (listener == null) listener = go.AddComponent<EventTriggerListener>();
return listener;
}
publicoverridevoid OnPointerClick(PointerEventData eventData)
{
base.OnPointerClick(eventData);
if (onClick != null) onClick(gameObject);
}
publicoverridevoid OnPointerDown(PointerEventData eventData)
{
base.OnPointerDown(eventData);
if (onDown != null) onDown(gameObject);
}
publicoverridevoid OnPointerEnter(PointerEventData eventData)
{
base.OnPointerEnter(eventData);
if (onEnter != null) onEnter(gameObject);
}
publicoverridevoid OnPointerExit(PointerEventData eventData)
{
base.OnPointerExit(eventData);
if (onExit != null) onExit(gameObject);
}
publicoverridevoid OnPointerUp(PointerEventData eventData)
{
base.OnPointerUp(eventData);
if (onUp != null) onUp(gameObject);
}
publicoverridevoid OnSelect(BaseEventData eventData)
{
base.OnSelect(eventData);
if (onSelect != null) onSelect(gameObject);
}
publicoverridevoid OnUpdateSelected(BaseEventData eventData)
{
base.OnUpdateSelected(eventData);
if (onUpdateSelect != null) onUpdateSelect(gameObject);
}
}
下面是以防自己忘记调用准备的。
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
publicclassUIPanel : MonoBehaviour {
// Use this for initialization
void Start () {
EventTriggerListener.Get(GameObject.Find("RawImage")).onClick = onclicked;
EventTriggerListener.Get(GameObject.Find("Scroll View")).onClick = OnClick;
}
privatevoid OnClick(GameObject go)
{
print(122);
}
privatevoid onclicked(GameObject go)
{
print(111);
}
// Update is called once per frame
void Update () {
}
}
- EventTrigger接管所有事件导致其他事件无法触发
- EventTrigger接管所有事件导致 在ScrollRect中,点击不能滚动
- EventTrigger触发3D物体事件
- EventTrigger触发3D物体事件和UGUI事件
- 解决Android按住空白区域,导致点击其他按钮无法触发点击事件的问题
- 基于事件触发的开源框架EventTrigger
- button事件无法触发,导致数据库无法连接!
- Html 所有触发事件
- jquery mobile 页面缓存 导致事件无法触发
- MouseLeftButtonDown事件无法触发
- MouseLeftButtonDown事件无法触发
- 代码添加EventTrigger监听事件
- 【UGUI】EventTrigger动态添加事件
- 按钮无法触发点击事件
- Storage事件无法触发解决
- Storage事件无法触发解决
- ASP.NET 添加验证控件导致Button点击事件无法触发
- 中文输入法导致html input的onkeyup事件无法被触发,解决方法
- 报错localhost is not allowed to connect
- faster-rcnn在win10+cuda8.0+1080ti+vs2013+matlab2015b下的配置 疑难问题解答
- mysql中jdbcType的匹配
- html5 progress标签的使用
- 对几种开源的TCP/IP协议栈分析
- EventTrigger接管所有事件导致其他事件无法触发
- IDA Create Unicode String(English)
- Python里 模块、Package概念
- JMAG.DESIGNER.16.0.WIN.LINUX.X64 马达电磁分析
- HDU 4751 Divide Groups【二分图染色】
- 个人日记
- Integer和int的区别
- Go语言如何实现遗传算法
- 文件操作File和RandomAccessFile