Unity 判断长按一个键

发布于 2023-02-23  261 次阅读


在Unity中,可以通过检查玩家是否长按一个键来实现不同的功能。以下是一种实现方法:

首先,在脚本中定义一个变量来记录玩家是否正在长按该键:

javaCopy codeprivate bool isHoldingKey = false;

然后,在Update函数中检查玩家是否正在按下该键。如果是,则将isHoldingKey设置为true。否则,将其设置为false:

csharpCopy codevoid Update()
{
    // 如果玩家正在按下指定的键
    if (Input.GetKey(KeyCode.Space))
    {
        // 将isHoldingKey设置为true
        isHoldingKey = true;
    }
    else
    {
        // 将isHoldingKey设置为false
        isHoldingKey = false;
    }
}

在这个例子中,我们检查了玩家是否按下了空格键。如果玩家正在按下空格键,则将isHoldingKey设置为true。否则,将其设置为false。

接下来,可以在其他函数中检查isHoldingKey变量的值,来判断玩家是否正在长按该键。例如,以下代码将在玩家长按空格键时打印一条消息:

csharpCopy codevoid Update()
{
    // 如果玩家正在按下指定的键
    if (Input.GetKey(KeyCode.Space))
    {
        // 将isHoldingKey设置为true
        isHoldingKey = true;
    }
    else
    {
        // 将isHoldingKey设置为false
        isHoldingKey = false;
    }

    // 如果玩家正在长按指定的键
    if (isHoldingKey)
    {
        // 打印一条消息
        Debug.Log("玩家正在长按空格键");
    }
}

在这个例子中,我们检查了isHoldingKey变量的值,如果它为true,则打印一条消息。这样,就可以在玩家长按空格键时执行一些特定的操作。