WIN32API FrameWork/한단계씩 직접 구현

08. GameObject 상속 구조 짜기

hyrule 2022. 5. 16. 16:54

https://hyrule.tistory.com/111 

 

*** 공부 방법 ***

1. 코딩을 해야 하는 부분은 첫 부분에 변수나 함수, 메소드에 대한 선언이 코드블럭으로 표시되어 있다. //ex) MakeFunction(); 2. 코드블럭 하단에는 해당 선언에 대한 구현 로직이 작성되어 있다. 처

hyrule.tistory.com

 

 


<사전지식>

* 가상함수

https://hyrule.tistory.com/70

 

부모 클래스의 소멸자에 가상함수를 쓰는 이유

class CParent { public: CParent() { std::cout << "CParent 생성자" << std::endl; } ~CParent() { std::cout << "CParent 소멸자" << std::endl; } }; class CChild : public CParent { public: { std::cout <<..

hyrule.tistory.com

 


* 간단히 구조만 설계하는 단계.

* CGameObject 소스 파일들은 모두 Include\GameObject 폴더에 생성한다.

 - 폴더를 탐색기에서 미리 생성한 다음,

h 파일과 cpp 파일의 앞부분에 'GameObject/'를 입력해주면 알아서 GameObject 폴더 안에 생성된다.

기본 클래스에 CGameObject를 넣으면 상속도 알아서 해준다.

 

< 상속 순서 >

  •  CGameObject
    • CCharacter
      • CPlayer

 

GameInfo 헤더를 포함시켜 준다. 이 때, GameInfo.h 파일은 이전 폴더인 Include 폴더 안에 있으므로

"../GameInfo.h" 로 작성해야 컴파일러가 인식할 수 있다.

 

 

각 클래스는 Init, Update, Render 메소드를 가상함수 형태로 가지고 있다.

 

클래스 생성 팁)

전부 같은 메소드를 가지고 있으므로 복사 붙여넣기 후 더블클릭으로 이름만 바꿔주면 빠르게 작업 가능

 

cpp 파일에서 자신의 클래스 헤더를 포함시킨 후

헤더 파일의 선언을 블록 지정 후 Ctrl + . -> C 엔터(선언/정의 만들기)를 누르면 정의 부분을 자동으로 생성시켜준다.

 

마지막으로 각 클래스의 Init() 함수만 true를 기본 반환하도록 바꿔주자.


대단한 변경은 없지만 노가다가 있어서 첨부

GameFrameworkStepbyStep_GameObjectStructure.zip
0.79MB

댓글수0