Input 存储键输入单位
我使用的是基于统一wasd输入的仪表盘系统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;
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;
}