繁体   English   中英

Unity3d EventTrigger-在指针上输入图像

[英]Unity3d EventTrigger - on pointer enter image

当指针输入图像时,我正在使用eventTrigger触发事件。 基本上,我在canvas有一个image 在添加了EventTrigger组件的image ,添加了事件类型Pointer Enter ,然后链接到我的脚本功能:

public void PointerEnter(){
    Debug.Log ("pointer enter");
}

这很好。 但是,如果我想向脚本传递一些数据怎么办? 例如, image的名称。 在正常Unity3d raycast的情况下,我们可以这样做:

if (Physics.Raycast (ray0, out hit)) {
                Debug.Log (hit.collider.gameObject.name);//<-- get the name
            }

但是,如果我们使用EventTrigger怎么办?

实现IPointerEnterHandler然后重写提供PointerEventData数据作为参数的OnPointerEnter()函数。 从该信息获取GameObject的名称。

简单的 MouseEnterScript脚本附加到Canvas ,它将可以检测到任何UI上的所有鼠标输入。

using UnityEngine.EventSystems;

public class MouseEnterScript: MonoBehaviour, IPointerEnterHandler
{
    public void OnPointerEnter(PointerEventData eventData)
    {
        Debug.Log("Name: " + eventData.pointerCurrentRaycast.gameObject.name);
        Debug.Log("Tag: " + eventData.pointerCurrentRaycast.gameObject.tag);
        Debug.Log("GameObject: " + eventData.pointerCurrentRaycast.gameObject);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM