Input 存储键输入单位

Input 存储键输入单位,input,unity3d,store,Input,Unity3d,Store,我使用的是基于统一wasd输入的仪表盘系统 if (Input.GetKeyDown(KeyCode.W)) { if ((Time.time - lastTapTime) < tapSpeed) { this.Trigger_FDodge(); Debug.Log("ForDodge"); } lastTapTime = Time.time;

我使用的是基于统一wasd输入的仪表盘系统

  if (Input.GetKeyDown(KeyCode.W))

    {

        if ((Time.time - lastTapTime) < tapSpeed)

        {

            this.Trigger_FDodge();

            Debug.Log("ForDodge");

        }

        lastTapTime = Time.time;

    }



    if (Input.GetKeyDown(KeyCode.D))

    {

        if ((Time.time - lastTapTime) < tapSpeed)

        {

            this.Trigger_RDodge();

            Debug.Log("RightDodge");

        }

        lastTapTime = Time.time;

    }

团结有办法做到这一点吗?我也在Unity论坛上询问过,但到目前为止,还没有人给出答案。

Unity3D中不支持存储整个键盘状态的AFAIK。另一方面,在上次更新期间,您既不能有所有按键的列表,也不能有所有按键的列表,但您必须明确检查每个按键(或轴,如果您正在使用它们)

因此,您唯一能做的就是保存上次按下的
KeyCode

KeyCode lastKey;
if (Input.GetKeyDown(KeyCode.D))
{
  //process input
  if (lastKeyCode == ...)
  {
  }
  lastKey = KeyCode.D;
}
KeyCode lastKey;
if (Input.GetKeyDown(KeyCode.D))
{
  //process input
  if (lastKeyCode == ...)
  {
  }
  lastKey = KeyCode.D;
}