首页 > 解决方案 > Unity Input.GetKeyDown 不适用于多个键

问题描述

对于我的游戏,我需要检测逗号、句号和减号键的按下。尽管检测到其他键在工作,但它们都不起作用。我怀疑这与我有一个德语键盘有关,但不知道如何修复它。帮助将不胜感激!

Input.GetKeyDown(KeyCode.Comma)
Input.GetKeyDown(KeyCode.Minus)
Input.GetKeyDown(KeyCode.Period)

标签: unity3dkeyboarddetection

解决方案


我怀疑这与我有德语键盘有关

要简单地调试它,您可以尝试以下检查按键

private void Update() {

    foreach(KeyCode vKey in System.Enum.GetValues(typeof(KeyCode))){

        if(Input.GetKey(vKey)){
            Debug.Log($"Pressed {vKey.ToString()}");         
        }
    }
}

上面的代码将调试当前按下的键,所以如果你按下逗号并输出逗号,那么你可能做错了什么。


推荐阅读