[英]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.