📜  unity 鼠标滚轮 - C# (1)

📅  最后修改于: 2023-12-03 14:48:13.061000             🧑  作者: Mango

Unity 鼠标滚轮 - C#

在Unity开发中,鼠标滚轮是常用的交互方式之一。本文将介绍如何在C#中使用鼠标滚轮来实现更加丰富的交互效果。

检测鼠标滚轮

检测鼠标滚轮的方法非常简单,只需要在Update函数中判断输入的鼠标滚轮距离即可。

void Update()
{
    float scrollWheelDelta = Input.GetAxis("Mouse ScrollWheel");
    if (scrollWheelDelta != 0)
    {
        Debug.Log("Mouse ScrollWheel Delta:" + scrollWheelDelta);
    }
}

以上代码中,我们将鼠标滚轮的距离存储在一个变量中,并在变量值不为0时输出调试信息。

滚轮中键点击

滚轮中键点击是鼠标的一个基本操作,我们可以使用Mathf.Clamp函数来实现相机视野的缩放。

public float zoomSpeed = 1.0f;
public float minZoom = 10.0f;
public float maxZoom = 50.0f;
void Update()
{
    float scrollWheelDelta = Input.GetAxis("Mouse ScrollWheel");
    if (scrollWheelDelta != 0)
    {
        float zoom = Camera.main.fieldOfView - scrollWheelDelta * zoomSpeed;
        zoom = Mathf.Clamp(zoom, minZoom, maxZoom);
        Camera.main.fieldOfView = zoom;
    }
}

以上代码中,我们通过获取鼠标滚轮的距离来计算相机的视野缩放量,并根据最小值和最大值进行限制。

滚轮移动物体

使用鼠标滚轮可以实现物体的移动操作,我们只需要将滚轮的距离乘以一个系数作为物体的移动速度即可。

public float moveSpeed = 1.0f;
void Update()
{
    float scrollWheelDelta = Input.GetAxis("Mouse ScrollWheel");
    if (scrollWheelDelta != 0)
    {
        transform.position += transform.forward * scrollWheelDelta * moveSpeed;
    }
}

以上代码中,我们通过获取鼠标滚轮的距离来计算物体的移动量,并将其应用到物体的位置上。

总结

通过本文的介绍,我们学习了如何在C#中实现鼠标滚轮操作。鼠标滚轮可以用于移动、缩放等多种操作,为游戏的交互性带来了更多的可能。