我在 Unity 中使用基于 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;
}
其中任何一个都可以,但是,因为我需要能够在四个方向上躲闪,所以我遇到了问题。虽然严格来说仍然是双击,但按“W”然后按“D”会触发闪避,而它只能用“WW”或“DD”触发。
当我使用 XNA 时,有输入状态选项,所以我可以存储最后按下的键和当前按下的键并进行比较。
KeyboardState lastKeyboardState = KeyboardState;
Unity有办法做到这一点吗?我也在 Unity 论坛上问过,但到目前为止,还没有人给出答案。