Unity鼠标事件详解

鼠标事件详解

1、3D物体
OnMouseDown():鼠标按下
OnMouseDrag():鼠标在按下时拖动
OnMouseUp():鼠标抬起
OnMouseEnter():鼠标进入
OnMouseExit():鼠标离开
OnMouseOver():鼠标经过
OnMouseUpAsButton():只有鼠标在触发区域内按下,并在触发区域内抬起时才会触发
鼠标事件的原理为射线检测,所以事件对象要有碰撞体组件,并将事件脚本挂在对象物体上,即可触发相依的事件
在这里插入图片描述
在这里插入图片描述

 //3D-----------------------------  
    private void OnMouseDown()
    {
        print("鼠标按下");
    }
    private void OnMouseDrag()
    {
        print("鼠标在按下时拖动");
    }
    private void OnMouseUp()
    {
        print("鼠标抬起");
    }
    private void OnMouseEnter()
    {
        print("鼠标进入");
    }
    private void OnMouseExit()
    {
        print("鼠标离开");
    }
    private void OnMouseOver()
    {
        print("鼠标经过");
    }
    private void OnMouseUpAsButton()
    {
        print("只有当鼠标按下抬起时调用");
    }

2、UGUI
在3D物体上使用的鼠标事件是无法直接在UI上使用的,必须使用EventSystems的借口
添加命名空间using UnityEngine.EventSystems;
通过接口实现,达到效果;
注意:UI上无需添加2D碰撞体,但是Raycast Target必须处于勾选状态
在这里插入图片描述
在这里插入图片描述

using UnityEngine;
using UnityEngine.EventSystems;

public class MouseClickMethod : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler,IPointerDownHandler,IPointerUpHandler,IPointerClickHandler
{
   
    //UI--------------------------
    public void OnPointerDown(PointerEventData eventData)
    {
        print("鼠标按下_UI");
    }

    public void OnPointerUp(PointerEventData eventData)
    {
        print("鼠标抬起_UI");
    }
    public void OnPointerEnter(PointerEventData eventData)
    {
        print("鼠标进入_UI");
    }

    public void OnPointerExit(PointerEventData eventData)
    {
        print("鼠标离开_UI");
    }

    public void OnPointerClick(PointerEventData eventData)
    {
        print("鼠标点击_UI");
    }
}

最后吐槽一句,这疫情是没完了吗?各位一定要做好防护啊!

  • 16
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值