【问题标题】:Mouse scroll wheel input not being recognised in unity鼠标滚轮输入无法统一识别
【发布时间】:2016-03-07 14:32:16
【问题描述】:

试图让一个变焦相机脚本工作,但它没有。我脚本的其他部分功能正常,除了这个,我认为它与鼠标滚轮有关。

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;
        }
    }
}

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

【问题讨论】:

  • 有什么不好的?你有例外吗?它只是不滚动吗?
  • 另外,您在 LateUpdate 而不是 Update 中执行此操作的任何特殊原因?
  • 我很笨,效果很好。非常感谢。

标签: c# input unity5 scrollwheel


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多