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;
}
どれか一つでもいいのですが、4方向回避が必要なので困ります。厳密にはダブルタップですが、「W」または「DD」でのみトリガーする必要がある場合に、「W」を押してから「D」を押すと、回避がトリガーされます。
XNA を使用したときは、入力状態のオプションがあったので、最後に押されたキーを保存して、現在のキーと比較することができました。
KeyboardState lastKeyboardState = KeyboardState;
Unityにはこれを行う方法がありますか? Unity フォーラムでも質問しましたが、まだ誰も答えがありません。