부트캠프/Unity [ 스파르타 ]

[TIL] 유니티 스파르타 7기 14일차 - 콘솔 키보드 버퍼 지우는 법

맏난거 2025. 2. 10. 20:51

while (Console.KeyAvailable) 
{
    Console.ReadKey(true);
}

키보드에 키가 눌렸을때 반복문이 계속 실행되고

ReadKey(true)로 키보드 버퍼를 가져옵니다.

 

이걸 활용하는 곳이 애니메이션이 실행될때 키보드 무시하는 방법으로 사용할 수 있습니다.

public static void AnimationWrite(string text, float duration)
{
    int count = 0;
    for (count = 0; count < text.Length; count++)
    {
        Console.Write(text[count]);
        Thread.Sleep((int)(1000f * duration / text.Length)); // 몇초동안 지속되는지 계산
        while (Console.KeyAvailable) 
        {
            Console.ReadKey(true);
        }
    }
}