4

试图让变焦相机脚本工作,但事实并非如此。我脚本的其他部分功能很好,除了这个,我认为这与鼠标滚轮有关。

void LateUpdate()
{
    if (!EventSystem.current.IsPointerOverGameObject())
    {     
        if(Input.GetAxis("Mouse ScrollWheel")<0)
        {
            CameraZoom();
        }
    }
}

public void CameraZoom()
{
    if (!EventSystem.current.IsPointerOverGameObject())
    {
        distance = Mathf.Clamp(distance - Input.GetAxis("Mouse ScrollWheel") * zoomFactor, distanceMin, distanceMax);
        RaycastHit hit;

        if (Physics.Linecast(target.position, transform.position, out hit))
        {
            distance -= hit.distance;
        }
    }
}

我只是希望它在我移动鼠标滚轮时缩放,但我需要它是一个公共空白,以便我可以从其他脚本访问它,主要是易于触摸。

4

1 回答 1

1

尝试将此代码放在 Update() 而不是 LateUpdate() 中。

void Update()
{
if (!EventSystem.current.IsPointerOverGameObject())
    {     
    if(Input.GetAxis("Mouse ScrollWheel")<0)
        {
            CameraZoom();
        }
    }
}
于 2016-03-07T14:53:31.353 回答