当设置 targetFrameRate 时,为什么 Input.GetMouseButtonDown(0) 在按钮释放时返回 True?

问题描述 投票:0回答:1

我正在 Unity 中开发游戏,由于某种原因,Input.GetMouseButtonDown(0) 停止正常工作。当我单击鼠标时,以及当我释放鼠标按钮时,该方法都会返回 true。使用 Input.GetMouseButtonUp(0) 可以正常工作。

我通过运行这段代码来解决这个问题:

void Update()
    {
        if(Input.GetMouseButtonDown(0))
        {
            Debug.Log("Down");
        }
    }

单击和释放时都会记录“Down”。 有谁知道为什么吗?

编辑: 我只是注意到它仅在设置 targetFrameRate 时发生

`Application.targetFrameRate = 60;`

删除该行代码可以解决问题,但我当然希望能够控制帧速率。

c# unity-game-engine input
1个回答
0
投票

您显然正在使用 Unity 2021 和模拟器(游戏窗格中的下拉菜单允许您选择游戏或模拟器)。这显然是模拟器模式的一个错误。

要体验这一点,您还需要在代码中的某个位置设置

Application.targetFrameRate = 60;

Unity 2022 没有同样的问题。所以升级解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.