【问题标题】:How do I detect if the key of a variable is pressed?如何检测变量的键是否被按下?
【发布时间】:2019-01-21 17:29:43
【问题描述】:

我正在制作一个游戏,它会创建一个你必须按下的随机键。我有一个数组,其中包含随机取一个的字母。我想检测是否按下了键,所以我这样做了:

if (Input.GetKey(KeyCode.lettre))

但以letter = "A" 为例,它会这样做:

if (Input.GetKey(KeyCode."A"))

我如何得到这个?

if (Input.GetKey(KeyCode.A))

【问题讨论】:

    标签: c# visual-studio unity3d


    【解决方案1】:

    GetKey 可以用字符串调用,所以你可以这样做:

    if (Input.GetKey(letter)) // assuming letter is a string
    

    您可能需要将letter 设为小写才能使其正常工作。查看键名列表here


    或者,您可以使用Enum.Parse 将您的字符串转换为枚举值:

    if (Input.GetKey((KeyCode)Enum.Parse(typeof(KeyCode), letter)))
    

    【讨论】:

    • 谢谢,我用的是大写
    • @Mestik78 你能用小写字母代替吗?如果没有,您可以使用第二种方法。
    猜你喜欢
    • 1970-01-01
    • 2021-01-27
    • 2021-07-14
    • 2018-06-26
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    相关资源
    最近更新 更多