*** 공부 방법 ***
1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처
hyrule.tistory.com
[ 사전 지식 ]
< GetClientRect(HWND, &rc) >
- 클라이언트 영역의 좌표를 구한다.
class CInput
- 이미 어떤 객체에 텍스처 이미지 파일이나 애니메이션을 출력하는 기능은 CGameObject에 모두 구현되어 있다.
- 그러므로 여기서 기능을 떼다가 마우스를 만들면 어렵지 않게 출력이 가능하다.
- CGameObject의 friend class로 CInput을 등록해서 CGameObject를 자유롭게 생성할 수 있도록 열어 주자.
{ CSharedPtr<class CGameObject> m_CursorAnim }
- 별도로 CGameObject 포인터를 저장할 변수를 생성한다.
< PostUpdate, Render >
- 원래 CInput에는 이 메소드들이 없었지만, 애니메이션 출력 및 CGameObject 로직 진행을 위해서 생성하고, CGamemanager에서 동작시켜 준다.
각 메소드에서 m_CursorAnim의 같은 메소드를 호출한다.
< Init() >
- 새 CGameObject를 생성하고,
텍스처 로드 -> 컬러키 설정 -> 애니메이션 시퀀스 생성 -> 애니메이션 등록을 해 준다.
class CGameObject
< Render() >
- 여기도 약간 설정을 바꿔주어야 한다.
- m_Scene의 주소를 참조하는데, CInput에서 별도로 생성한 게임오브젝트는 m_Scene이 등록되지 않아서 에러가 나기 때문이다.
-> m_Scene이 없을 때 CSceneManager로 우회해서 CScene을 참조할 수 있도록 해준다.
'WIN32API FrameWork > 한단계씩 직접 구현' 카테고리의 다른 글
61. 폰트 (0) | 2022.06.08 |
---|---|
60. 프로그레스 바 (0) | 2022.06.07 |
58. 버튼 완성 (0) | 2022.06.07 |
57. 위젯의 마우스 충돌 (0) | 2022.06.07 |
56. 위젯 (0) | 2022.06.06 |