我正在 Unity 中开发游戏,由于某种原因,Input.GetMouseButtonDown(0) 停止正常工作。当我单击鼠标时,以及当我释放鼠标按钮时,该方法都会返回 true。使用 Input.GetMouseButtonUp(0) 可以正常工作。
我通过运行这段代码来解决这个问题:
void Update()
{
if(Input.GetMouseButtonDown(0))
{
Debug.Log("Down");
}
}
单击和释放时都会记录“Down”。 有谁知道为什么吗?
编辑: 我只是注意到它仅在设置 targetFrameRate 时发生
`Application.targetFrameRate = 60;`
删除该行代码可以解决问题,但我当然希望能够控制帧速率。
您显然正在使用 Unity 2021 和模拟器(游戏窗格中的下拉菜单允许您选择游戏或模拟器)。这显然是模拟器模式的一个错误。
要体验这一点,您还需要在代码中的某个位置设置
Application.targetFrameRate = 60;
。
Unity 2022 没有同样的问题。所以升级解决了这个问题。