私は今このような関数を持っています:
public static bool IsKeyDownWithDelayPassed(Keys key, int delay)
{
bool timeElapsed = stopWatch.ElapsedMilliseconds > delay;
bool isKeyDown = currentKeyboardState.IsKeyDown(key);
if (timeElapsed && isKeyDown)
{
stopWatch.Restart();
}
return timeElapsed && isKeyDown;
}
これは完全に機能しますが、一度に1つのキーでのみ機能します。たとえば、矢印キーを使用して斜めに移動したい場合(右矢印キーと下矢印キーを同時に押したまま)、機能しません。
Dictionary
esにマッピングされKeys
たソリューションを考えましたStopwatch
が、それは少し複雑すぎるように見えました。このタスクを簡素化できるものがありませんか?
ありがとう。