콘솔로 개발을 진행할때 화면을 모두 지우고 재출력을 해야하는 상황에서 대개 while문 안에 system("cls") 명령어를 많이 사용하는데 콘솔의 내용을 지우고 다시 쓰고 하는 과정에서 정신산만한 깜빡임이 발생합니다. 이러한 문제가 생기는 원인은 싱글 버퍼링을 사용할 경우에 ( 화면 출력 -> 초기화 -> 화면 출력 ) 이 과정을 빠른속도로 무한 반복하는 도중 계속해서 공백이 노출되기 때문입니다. 이러한 현상을 없애주려면 그래픽스에서 많이 사용하는 더블 버퍼링이라는 기법을 사용하여야 합니다. 더블 버퍼링이란? 더블 버퍼링이란 싱글 버퍼링으로 화면을 그릴 경우 데이터를 저장하는 동안에는 다음 그림의 데이터를 전송할 수 없기 때문에 지우고 그리고 지우고를 반복 할 경우 필연적으로 발생하는 깜빡임 등의 상..
다중키 입력이 가능한 GetAsyncKeyState C언어 / C++에서 입력키의 정보를 알아오기 위해 _getch()를 종종 사용하고는 합니다. 하지만 _getch() 함수는 마지막에 누른 키 하나만을 입력받습니다. 그렇기에 좌,우,상,하 키를 동시에 입력받지 못하여 "대각선 이동" 모션을 할수가 없습니다. 게임을 개발하기 위해서는 _getch()함수보다는 GetAsyncKeyState()함수를 사용하도록 합시다. GetAsyncKeyState()함수는 입력을 멀티로 받을 수 있습니다. →키와 ↑키를 동시에 누른다면 오른쪽 위의 대각선 방향으로 이동을 할 수 있게됩니다. GetAsyncKeyState 사용법 SHORT GetAsyncKeyState(int vKey) 함수의 형태는 위와 같습니다. 인자값..