▶ KeyManager
경우의 수
1. 키가 한번만 누른 경우
2. 키가 올라 간 경우
3. 키가 내려간 상태에서 유지되는 지
4. 토글키
키 조합으로 조건 체크해야 하므로 bool 배열로 값을 체크할 경우 메모리 낭비가 심할 수 있으므로 비트셋을 이용해 설계.
◆ 비트셋
STL의 한 종류이다.
여러 개의 비트가 모여서 하나의 집합을 형성 하는 것이다.
이때 0이면 채워지지않은 것, 1이면 채워진 것이다.
GetAsyncKeyState
- 어떤 키가 입력 된건지 체크 / 프로그램에서 키를 입력받고 싶을 때 사용하는 API 공용함수
- 기본적으로 메시지 큐에 있는 키의 정보를 확인한다.
- 키가 눌린 시점을 체크하기 위해 &(AND) 연산을 사용해서 확인한다.
- 비트 단위로 AND 연산을 한다.
- 둘 다 1일 때만 결과가 1이고 / 아니라면 결과가 0
0x00000: 이전에 누른 적이 없고 호출 시점에서 안눌린 상태
0x00001: 이전에 누르 적이 있고 호출 시점에서 안눌린 상태
0x80000: 이전에 누른 적이 없고 호출 시점에서 눌린 상태
0x80001: 이전에 누른 적이 있고 호출 시점에서 눌린 상태
'WinAPI' 카테고리의 다른 글
해시테이블 (0) | 2023.06.20 |
---|---|
슈팅게임, 탄환관리 (0) | 2023.06.20 |
객체 지향 4대 요소, 객체지향 5대 설계원칙, 가상함수 (0) | 2023.06.15 |
Random, DesignPattern:Singleton (0) | 2023.06.14 |
매크로 상수/함수, 한정자 (0) | 2023.06.13 |