WIN32API FrameWork/한단계씩 직접 구현

59. 마우스에 애니메이션 띄우기

hyrule 2022. 6. 7. 01:54

http://hyrule.tistory.com/111 

 

*** 공부 방법 ***

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을 참조할 수 있도록 해준다.

 


GameFrameworkStepbyStep_59_CursorAnimation.zip
4.93MB&nbsp;/ 4.93MB