콘솔게임 만들때 자주쓰는 함수들 - 1.키 입력에 관한 것
가상 키코드값을 이용하여 어떤키가 눌렀는지 알아내기(GetAsyncKeyState) - Windows.h
SHORT __stdcall GetAsyncKeyState(int vKey)
int vKey 파라미터에 가상키 코드 값을 넣어주면 그 키를 눌렸는지의 여부를 True과 false로 반환합니다. 메세지 큐를 거치지 않고 바로 전달해 주기 때문에 게임 프로그래밍에서 매우 유용합니다. 그 중 콘솔 게임 만들때 자주 사용하는 가상키 코드를 소개시켜 드리겠습니다.
정의된 이름 |
16진수 |
10진수 |
설명 |
VK_LBUTTONDOWN |
0x01 |
1 |
마우스 왼쪽 버튼 |
VK_RBUTTONDOWN |
0x02 |
2 |
마우스 오른쪽 버튼 |
VK_BACK |
0x08 |
8 |
Backspace 키 |
VK_RETURN |
0x0D |
13 |
Enter 키 |
VK_SHIFT |
0x10 |
16 |
Shift 키 |
VK_CONTROL |
0x11 |
17 |
Ctrl 키 |
VK_MENU |
0x12 |
18 |
Alt 키 |
VK_PAUSE |
0x13 |
19 |
Pause Break 키 |
VK_ESCAPE |
0x1B |
27 |
ESC 키 |
VK_SPACE | 0x20 | 32 | 스페이스바 |
VK_LEFT | 0x25 | 37 | 왼쪽 방향 키 |
VK_UP | 0x26 | 38 | 위쪽 방향 키 |
VK_RIGHT | 0x27 | 39 | 오른쪽 방향 키 |
VK_DOWN | 0x28 | 40 | 아래쪽 방향 키 |
키가 눌려저 있는지 검사하는 방법(kbhit, getch) - conio.h
int kbhit(void)
키보드부터 키가 눌렸는지의 여부를 확인합니다. 키가 눌러져 있으면 True을, 그렇지 않으면 false를 반환합니다. 키가 눌려저 있는 상태에서 아스키코드(어떤 문자)를 입력했는지 알아낼 수 있습니다.
int getch(void)
이 함수는 입력을 받을 때까지 계속 대기하다가 입력이 있으면 키보드로부터 문자 하나를 입력 받습니다. 입력이 없을 시 계속 대기하고 가만 있으니깐 kbhit() 함수랑 같이 사용하는 것을 추천합니다.
ch = getch();
if(ch==0 || ch==0xe0) {
ch=getch();
printf("확장키code=%d\n", ch);
}
else
printf("아스키code=%d\n", ch);
아스키 코드(ASCII CODE)
미국정보교환표준부호(영어: American Standard Code for Information Interchange 줄여서 ASCII(아스키))는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 아스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기초를 두고 있다.
아스키는 1967년에 표준으로 제정되어 1986년에 마지막으로 개정되었다. 아스키는 7비트 인코딩으로, 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능한 문자들로 이루어진다. 제어 문자들은 역사적인 이유로 남아 있으며 대부분은 더 이상 사용되지 않는다. 출력 가능한 문자들은 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 그리고 하나의 공백 문자로 이루어진다.
아스키가 널리 사용되면서 다양한 아스키 기반의 확장 인코딩들이 등장했으며, 이들을 묶어서 아스키라고 부르기도 한다. 대표적으로 7비트 인코딩을 유지한 ISO/IEC 646과, 원래 아스키 코드 앞에 비트 0을 넣어 8비트 인코딩을 만든 IBM 코드 페이지와 ISO 8859가 있다. 이 인코딩들은 언어군에 따라 같은 숫자에 서로 다른 문자가 배당된 경우가 많다.
아스키 코드는 국제 표준 기구에 의해 개발되었으며 미국 국립 표준 연구소에서 제정하였다.
'Backup > Windows' 카테고리의 다른 글
CreateThread, _beginthread, _beginthreadex, AfxBeginThread 차이점 (0) | 2018.01.03 |
---|---|
(출처) C++ 프로그래밍 스타일 가이드라인 코딩/프로그래밍 규칙 (2) | 2017.12.24 |
콘솔게임 만들때 자주쓰는 함수- 4.음악사용 (0) | 2017.12.21 |
콘솔게임 만들때 자주쓰는 함수들 -3. 데이터 처리 (1) | 2017.12.21 |
콘솔게임 만들때 자주쓰는 함수들 -2. 콘솔프로그램 화면 변경 (0) | 2017.12.21 |
댓글
이 글 공유하기
다른 글
-
(출처) C++ 프로그래밍 스타일 가이드라인 코딩/프로그래밍 규칙
(출처) C++ 프로그래밍 스타일 가이드라인 코딩/프로그래밍 규칙
2017.12.24 -
콘솔게임 만들때 자주쓰는 함수- 4.음악사용
콘솔게임 만들때 자주쓰는 함수- 4.음악사용
2017.12.21 -
콘솔게임 만들때 자주쓰는 함수들 -3. 데이터 처리
콘솔게임 만들때 자주쓰는 함수들 -3. 데이터 처리
2017.12.21 -
콘솔게임 만들때 자주쓰는 함수들 -2. 콘솔프로그램 화면 변경
콘솔게임 만들때 자주쓰는 함수들 -2. 콘솔프로그램 화면 변경
2017.12.21