Unity 鼠标滚轮缩放脚本

2022-07-26  本文已影响0人  114105lijia
一、基于物体缩放
    public Transform obj;
    //缩放比例限制
    public float MinScale = 0.02f;
    public float MaxScale = 30f;
    //缩放比例
    private float scale = 1f;

    void Update()
    {
        if (Input.GetAxis("Mouse ScrollWheel") != 0)
        {
            float mouseWheelValue = Input.GetAxis("Mouse ScrollWheel");
            scale += mouseWheelValue;
            scale = Mathf.Clamp(scale, MinScale, MaxScale);

            obj.transform.localScale = new Vector3(scale, scale, scale);
        }

    }
二、基于Camera缩放
void Update()
    {
        //鼠标滚轮的效果
        //Camera.main.fieldOfView 摄像机的视野
        //Camera.main.orthographicSize 摄像机的正交投影
        //Zoom out
        //Camera.main【注意需要设置Camera的Tag为MainCamera】
        if (Input.GetAxis("Mouse ScrollWheel") < 0)
        {
            if (Camera.main.fieldOfView <= 1000)
            {
                Camera.main.fieldOfView += 2;
            }

        if (Camera.main.orthographicSize <= 20)
            {
                Camera.main.orthographicSize += 0.5F;
            }
        }
        //Zoom in
        if (Input.GetAxis("Mouse ScrollWheel") > 0)
        {
            if (Camera.main.fieldOfView > 2)
            {
                Camera.main.fieldOfView -= 2;
            }

            if (Camera.main.orthographicSize >= 1)
            {
                Camera.main.orthographicSize -= 0.5F;
            }
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读