unity常用鼠标事件

鼠标事件:

 

        鼠标事件,都是当鼠标和gui或者碰撞体(Collider)交互时候触发。需要说明的是drag其实就是鼠标down后up之前持续每帧都会发送此消息。

 

        OnMouseDown:当鼠标上的按钮被按下时触发的事件;

 

        OnMouseDrag:当用户鼠标拖拽GUI元素或碰撞体时调用;

 

        OnMouseEnter:当鼠标进入物体范围时被调用;

 

        OnMouseExit:当鼠标退出时被调用;

 

        OnMouseOver:当鼠标移动到某对象的上方时触发的事件;

 

        OnMouseUp:当鼠标按键被松开时触发的事件

 

按下事件:Input.GetMouseButtonDown()


  该方法只有一个参数,参数为0时,代表鼠标左键被按下,参数为1的时候,代表鼠标右键被按下,参数为2的时候代表鼠标中键被按下。 

void Update() {
        if (Input.GetMouseButtonDown(0))
            Debug.Log("Pressed left click.");

        if (Input.GetMouseButtonDown(1))
            Debug.Log("Pressed right click.");

        if (Input.GetMouseButtonDown(2))
            Debug.Log("Pressed middle click.");

    }

  抬起事件:Input.GetMouseButtonUp()


  鼠标在按下后肯定要抬起,按下的时候会触发按下事件,抬起的时候会触发抬起事件。与按下事件相同,抬起事件也只有一个参数,当参数为0的时候代表鼠标左键抬起,参数为1的时候代表鼠标右键被抬起,参数为2的时候代表鼠标中键被抬起。 

void Update() {
        if (Input.GetMouseButtonDown(0))
            Debug.Log("Pressed left click.");

        if (Input.GetMouseButtonDown(1))
            Debug.Log("Pressed right click.");

        if (Input.GetMouseButtonDown(2))
            Debug.Log("Pressed middle click.");

    }

  长按事件:Input.GetMouseButton()


  检测鼠标三个三个按键中某一按键一直按下的状态或者是获得按下的按键,和之前的两个事件一样,只有一个参数,当参数为0的时候代表鼠标左键长按,参数为1的时候代表鼠标右键长按,参数为2的时候代表鼠标中键被长按。

 

void Update() {
        if (Input.GetMouseButton(0))
            Debug.Log("Pressed left click.");

        if (Input.GetMouseButton(1))
            Debug.Log("Pressed right click.");

        if (Input.GetMouseButton(2))
            Debug.Log("Pressed middle click.");

    }

 

  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity中,您可以使用以下几个常用鼠标事件来处理鼠标输入: 1. `OnMouseDown()`:当鼠标按下时被调用,适用于处理鼠标左键按下事件。 2. `OnMouseUp()`:当鼠标释放时被调用,适用于处理鼠标左键释放事件。 3. `OnMouseEnter()`:当鼠标进入对象的碰撞器范围时被调用。 4. `OnMouseExit()`:当鼠标离开对象的碰撞器范围时被调用。 5. `OnMouseOver()`:当鼠标在对象上移动时持续被调用。 6. `OnMouseDrag()`:当鼠标在对象上拖拽时持续被调用。 这些事件可以在您的脚本中重写,并通过将其附加到游戏对象的脚本组件上来使用。以下是一个示例代码,展示如何使用这些鼠标事件: ```csharp using UnityEngine; public class MouseEvents : MonoBehaviour { void OnMouseDown() { Debug.Log("Mouse Down"); } void OnMouseUp() { Debug.Log("Mouse Up"); } void OnMouseEnter() { Debug.Log("Mouse Enter"); } void OnMouseExit() { Debug.Log("Mouse Exit"); } void OnMouseOver() { Debug.Log("Mouse Over"); } void OnMouseDrag() { Debug.Log("Mouse Drag"); } } ``` 将上述代码添加到您希望处理鼠标事件的游戏对象的脚本组件上。通过重写这些函数并在其中添加自定义的逻辑,您可以处理相应的鼠标事件。在示例代码中,我只是简单地使用`Debug.Log`来输出相应的事件名称,您可以根据需要进行其他的操作。 希望这对您在Unity中处理鼠标事件有所帮助!如有任何问题,请随时向我提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值