unity | EventTrigger(实现鼠标/按钮按下、抬起等时执行的方法)

一、类比常用按钮

按钮组件一般只有当点击时,执行的方法。

点击:需要按下再起来

二、按钮的其他用法

但有时候,我们可能只需要按下的时候执行,或者抬起的时候执行,这时需要在加入EventTrigger组件

 <一>、EventTrigger组件

当点击时Add New Event Type时,可以选择这个按钮响应的其他方式 

鼠标进入        PointerEnter     当鼠标移到按钮上面,就会执行这个方法

鼠标离开        PointerExit        当鼠标从按钮上移出,就会执行这个方法 

鼠标点击        PointerClick      点击时(按下再抬起,必须这两个动作都在这个按钮上)

鼠标按下        PointerDown    当鼠标按下的时候,就会执行这个方法 

鼠标抬起        PointerUp         当鼠标按下这个按钮,再抬起的时候就会输出(只要按的这

                                                个按钮,无论是在哪抬起)   

(这里把拖分成了四份):

1.拖前点击                    InitializepotentialDrag  按下执行        

2.点完拖得第一下         BeginDrag 点着按钮拖的第一下执行一次

3.拖得过程                    Drag 点着按钮后,随便滑动,只要不放开会隔一会执行一次

4.拖完了放开                EndDrag 点着按钮拖完放开的那一下执行一次

不常用:

拖拽跳跃        Drop  有两个按钮都添加了这个,在一个身上按下,拖到另外一个身上抬起

                                的时候执行

鼠标滚轮        Scoll   在按钮里滑动鼠标滚轮执行

一直执行        UpdateDeselect  点击按钮一次,它会一直执行,直到鼠标点击其他东西才停

再次选择        Select  第一次点按钮执行,然后必须选了别的按钮,再选它的时候才会再次

                       执行(和结婚一样,选了它,离婚前都只结一次婚)    

移情别恋        Deselect   点一下按钮,再点别人的时候执行(和离婚一样,先结婚才能有

                        资格离婚,离婚的时候执行)

移动               Move  点一下这个按钮,然后点上下左右执行

回车               Submit  点一下这个按钮,然后点回车键执行

退出               Cancel   点一下这个按钮,然后点ESC执行  

选择好自己需要的情况,就会变成下图(这里用PointerEnter 举例)

觉不觉得这个框框和按钮的框框很像,所以使用方法一样,点加号往里拖物体........(略) 

三、代码使用接口

下方链接是一个详细的使用案例,刚更新的。 

Unity 滑动条(Slider)拖拽开始和结束、点击等事件的拓展功能-CSDN博客

 下方链接是我对Unity的内在逻辑猜测

Unity | 接口的理解和使用方法_unity 接口_菌菌巧乐兹的博客-CSDN博客

值得注意的是,上面链接里,代码所在位置的脚本,必须挂在你希望执行的按钮上:

例,如果我希望长按下图button,执行代码,那么我的脚本必须挂在button物体上

四、邀请时对应的名字

  • IPointerEnterHandler - OnPointerEnter-当鼠标移到按钮上面
  • IPointerExitHandler - OnPointerExit-当鼠标从按钮上移出
  • IPointerDownHandler - OnPointerDown-当鼠标按下这个按钮
  • IPointerUpHandler - OnPointerUp-当鼠标按下这个按钮,抬起的时候
  • IPointerClickHandler - OnPointerClick-当点击的时候
  • 拖拽篇
  • IInitializePotentialDragHandler - OnInitializePotentialDrag-按下执行
  • IBeginDragHandler - OnBeginDrag - 点着按钮拖的第一下执行一次
  • IDragHandler - OnDrag - 点着按钮后,随便滑动,只要不放开会隔一会执行一次
  • IEndDragHandler - OnEndDrag - 点着按钮拖完放开的那一下执行一次
  • 不常用篇
  • IDropHandler - OnDrop - 见上文
  • IScrollHandler - OnScroll - 见上文
  • IUpdateSelectedHandler - OnUpdateSelected - 见上文
  • ISelectHandler - OnSelect - 见上文
  • IDeselectHandler - OnDeselect - 见上文
  • IMoveHandler - OnMove - 见上文
  • ISubmitHandler - OnSubmit - 见上文
  • ICancelHandler - OnCancel - 见上文

  • 12
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菌菌巧乐兹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值