C++ 당시, textRpg한 것 마냥, 익숙한 클래스 문법과, extern변수 등을 이용해서 나만의 프레임 워크를 짜보자.

  1. Define.h를 만들어서 공통적으로 자주 쓸 함수들이나 변수들을 선언해주자.

ex) 윈도우 메인 창 관련 변수들에서, 화면 해상도 크기 조절을 위한 수식을 위해서, 변수 선언이나, HWND같은 것, 그리고 템플릿 형태의 delete등.

  1. 우리는 게임을 만들어야하는데, 게임을 만드는 데에, 제공되는 윈도우 메인 함수에서 GetMesage는 안쓴단다,

이를 주석 처리하고, 대신에, PeekMessage로 바꾼다.

여기서 사용하는 함수

[1]. PM_REMOVE : 메시지를 읽어 오면서, 메시지 큐에서 제거

[2]. PM_NOREMOVE : 메시지 큐에 메시지 존재 여부만 파악하고, 메시지를 읽어오려면 GetMessage를 다시 호출한다.

[3] TranslateMessage : 키보드 메시지를 가공해, 프로그램에서 쉽게 사용할 수 있게 해준다.

[4] DispatchMessage(&msg) : 시스템 메시지 큐에서 꺼낸 메시지를 프로그램의 메세지 처리 함수로 전달하는 함수이다.

  1. CMainGame클래스를 하나만들어서, 멤버 변수로, HDC를 가져오자.

  2. 윈도우메인함수에 메인클래스를 추가하고, GetMessage썻던 곳 대신 만들었던, PeekMessage함수 쪽에, else문에, CMainGame클래스 업데이트와 렌더함수를 쓴다.

  3. InitInstance함수에서, 화면 창 해상도크기를 위한 설정으로 RECT rc를 여기서 선언하는데, Define.h에서 정의해놨던 사이즈크기 변수들을 가지고 식을 작성한다.

5)AdjustWindowRect()함수가 가장 중요한데,

rc = rc + 기본창스타일 + 메뉴바 사이즈 고려 여부.(얘는 그 원을 한 번 그려보면 아는데, 보통 원그리면 원이 좀 파여져서 나오거든, 이게 근데 위 상단에 메뉴바 사이즈까지 고려안해서 그런거라서 그렇단다) TRUE로 해야 아~ 고려할게~ 라는 뜻으로 원이 딱 맞게 나옴.