-
win32 게임 만들기(6) - Key ManagerWindows Programming/win32 게임엔진만들기 2022. 4. 17. 15:18
update
=> 현 방식
코드가 수행하는 if구절에 가 봐야지만 왼쪽키 오른쪽키가 무슨 상황인지 알수 있음
우리 프로그램은 매 순간 업데이트를 거치고 모든 업데이트가 끝나면 화면에 렌더(그리기) 한다.
이 과정이 1프레임에 과정
키 매니저가 필요한 이유
1. 프레임 동기화
동일 프레임 내에서 같은 키에 대해, 동일한 이벤트를 가져간다.
(같은 DT에 일어난 사건들은 같은 처리를 받아야 하지만 코드를 한줄한줄 읽어 실행하는 동안 같은 프레임 이더라도
키처리가 달라 질 수 있음)
2. 키 입력 이벤트 처리
tap, hold, away
키 입력 이벤트 정의
키의 상태와 눌린키 enum 타입
두개의 정보를 담는 구조체 tKeyInfo
초기화 함수 두개의 정보를 담는 구조체를 {NONE false} 로 LAST의 갯수 만큼 초기화
내가 정의한 키값과 대응되는 실제 윈도우 정의 키값 매칭 하기위해 전역변수로 g_arrVK선언 !
update
=> 키가 눌렸는지 확인후 상태값 변경
EX코드)
KeyManager를 통해 눌린키와 상태를 받아와
상태가 TAP (눌렀다 땟을때) 좌우로 200씩 움직이게 함
출처참고:
'Windows Programming > win32 게임엔진만들기' 카테고리의 다른 글
win32 게임 만들기(7-2) -Scene Manager (0) 2022.04.25 win32 게임 만들기(7-1) -Scene Manager (0) 2022.04.23 win32 게임 만들기(5)-Double Buffering (0) 2022.04.17 win32 게임 만들기(4)-TIMER (시간 동기화) (0) 2022.04.01 win32 게임 만들기(3) 움직이는 object 그리기(비동기 키 입출력) (0) 2022.04.01