C# - GetAsnycKeyState() 기반 실시간 키 입력 처리
·
C#
콘솔의 기본적인 Console.ReadKey() 기반으로 입력을 받으면, OS의 연속키 입력 지연 때문에 입력이 느리고 답답하게 느껴진다.이는 실시간 게임 같은 것에서는 조작감을 치명적으로 망쳐놓는 원인이 된다. 비슷한 현상을 Unity에서도 겪은 바 있기에, 이를 해결하고자 KeyDown / KeyUp을 이용한 인풋 시스템을 만들고자 했으나C#에는 KeyUp 기능이 없다...! 없으면 직접 만들어야지 뭐... 결론부터 말하면 GetAsyncKeyState()라는 Win32 API가 제공하는 비동기 키 입력 감지 함수를 이용해 해결할 수 있다. if (Console.KeyAvailable){ var key = Console.ReadKey(true).Key; switch (key) { ..