unity的UI内置接口(IBeginDragHandler,IPointerEnterHandler.......)

在Unity中,这些接口是与Unity的Event System(事件系统)和UI系统紧密相关的!


一,头文件

使用UI的内置接口需要导入头文件:using UnityEngine.EventSystems;

二,接口的使用

public class buttonEvent : MonoBehaviour,IPointerEnterHandler,IPointerExitHandler

{

        实现代码......(继承接口必须实现!)

}


三,接口的介绍

// 当指针(如鼠标光标)进入对象时调用

public interface IPointerEnterHandler { void OnPointerEnter(PointerEventData eventData); }

// 当指针离开对象时调用

public interface IPointerExitHandler { void OnPointerExit(PointerEventData eventData); }

// 当指针在对象上按下时调用(仅在按下的那一帧)

public interface IPointerDownHandler { void OnPointerDown(PointerEventData eventData); }

// 当指针在对象上释放时调用(在最初按下的对象上调用)

public interface IPointerUpHandler

{ void OnPointerUp(PointerEventData eventData); }

// 当指针在同一对象上按下并释放时调用(模拟点击)

public interface IPointerClickHandler

{ void OnPointerClick(PointerEventData eventData); // 注意:这里的描述可能有些误导,OnPointerClick 实际上只在点击动作完成时调用一次, // 而不是在点击的整个时间段内持续调用。 }

// 当拖拽即将开始时在拖拽对象上调用

public interface IBeginDragHandler { void OnBeginDrag(PointerEventData eventData); }

// 当拖拽发生时在拖拽对象上调用

public interface IDragHandler { void OnDrag(PointerEventData eventData); }

// 当拖拽结束时在拖拽对象上调用

public interface IEndDragHandler { void OnEndDrag(PointerEventData eventData); }

// 当拖拽结束时在放置目标对象上调用

public interface IDropHandler { void OnDrop(PointerEventData eventData); }

// 当鼠标滚轮滚动时调用

public interface IScrollHandler

{ void OnScroll(PointerEventData eventData); }

// 在每个tick上在选定的对象上调用

public interface IUpdateSelectedHandler

{ void OnUpdateSelected(BaseEventData eventData); // 注意:这里使用BaseEventData而非PointerEventData,因为此事件可能与指针操作无关 }

// 当对象成为选定对象时调用

public interface ISelectHandler

{ void OnSelect(BaseEventData eventData); // 同上,使用BaseEventData }

// 当选定对象变为未选定时调用

public interface IDeselectHandler

{ void OnDeselect(BaseEventData eventData); // 同上,使用BaseEventData }

// 当移动事件发生时调用(左、右、上、下等)

public interface IMoveHandler

{ void OnMove(AxisEventData eventData); // 注意:这里使用AxisEventData,因为它与移动方向相关 }
// 当提交按钮被按下时调用

public interface ISubmitHandler

{ void OnSubmit(BaseEventData eventData); // 提交操作可能不需要特定的指针数据 }

// 当取消按钮被按下时调用

public interface ICancelHandler

{ void OnCancel(BaseEventData eventData); // 取消操作同样可能不需要特定的指针数据 }

四,实践代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值