按钮的监听
_btn.onClick.AddListener("Function") //函数名
_btn.onClick.AddListener(() => //lambda表达式
{
//transform.gameObject.SetActive(false);
});
拖拽监听
using UnityEngine.EventSystems;
接口名称 | 含义 | 对应函数 |
IBeginDragHandler | 拖拽开始 | OnBeginDrag(PointerEventData eventData) |
IDragHandler | 拖拽时 | OnDrag(PointerEventData eventData) |
IEndDragHandler | 拖拽结束 | OnEndDrag(PointerEventData eventData) |
点击监听
using UnityEngine.EventSystems;
接口名称 | 含义 | 对应函数(public void) |
IPointerEnterHandler | 鼠标移入 | OnPointerEnter(PointerEventData eventData) |
IPointerExitHandler | 鼠标移出 | OnPointerExit(PointerEventData eventData) |
IPointerClickHandler | 鼠标点击 | OnPointerClick(PointerEventData eventData) |
IPointerDownHandler | 鼠标按下 | OnPointerDown(PointerEventData eventData) |
IPointerUpHandler | 鼠标抬起 | OnPointerUp(PointerEventData eventData) |
RectTransformUtility.ScreenPointToLocalPointInRectangle
把屏幕坐标系一点的位置转换为某个矩形框内的坐标位置 (返回V2向量)
RectTransformUtility.ScreenPointToLocalPointInRectangle
(transform.parent as RectTransform,Input.mouseScrollDelta, null, out localPos);
第一个参数代表要转换到那个矩形框,第二个参数屏幕坐标系的位置,第三个参数渲染当前UI的摄像机(如果找不到就填null),第四个参数传出转换好的位置 (把第二个参数的位置转到矩形框)
RectTransformUtility.RectangleContainsScreenPoint
判断某个点是否在某个矩形框内(返回Bool值)
RectTransformUtility.RectangleContainsScreenPoint
(transform.parent as RectTransform, Input.mousePosition))
第一个参数是要判断的矩形,第二个参数是某个点的位置(Input.mousePosition是鼠标的位置)