상속과 컴포넌트
그동안 우리가 C++을 배우면서 많이 이용한것은 바로 "상속" 일 것이다.
아주 기본적인 게임로직을 구상할때에는 상속만으로도 충분하다.
처음 상속을 배울때 이정도로 시작했을 것이다.
여기에 위치가 고정인 박스와 카메라를 추가해보자.
오브젝트는 이정도로 설정해주고, 각자의 기능을 생각해보자.
내가 생각하는 게임의 기본은 이동이라고 생각한다.
그러면 이동이 필요한 오브젝트와 이동이 필요없는 오브젝트를 나눠서 상속을 받아보자.
움직임도 설정했으니, 이제 이동과 동급으로 중요한 화면에 그리는걸 해보자.
여기서 화면에 그리지 않는것은 카메라고, 나머지는 화면에 그려야한다.
어라, 모형도가 이상해졌다 카메라는 그리면 안되는데.
그러면 아래와 같이 하는건 어떨까?
겨우 두가지 기능으로 거미줄마냥 됐는데, 공통적이지 못한 기능이 더 추가된다면, 이중상속은 기본이고, 삼중상속도 받아야할지도 모른다.
게임요소의 기능적으로 상속을 쓸때에, 복잡도가 올라가는 약점이 생긴다는 것을 알 수있었다.
그래서 우리가 배워볼것이 컴포넌트 구조다.
컴포넌트 구조는 각각의 기능을 모두 컴포넌트로 만들고, 각각의 게임오브젝트에 필요한 기능(컴포넌트)만 추가해서 가지고 있는것이다.
박스라는 게임오브젝트라면, Touchable Component 와 Renderable Component 를 들고 있게 하면된다.
플레이어라는 게임오브젝트라면, Movement Component와 Renderable Component 를 들고 있게 하면된다.
'D2D와 게임엔진' 카테고리의 다른 글
[D2D 게임만들기 7] - 애니메이션(후순위라고 생각) (0) | 2025.04.10 |
---|---|
[D2D 게임만들기 5] - Scene에 관하여 2 (0) | 2025.04.02 |
[D2D 게임만들기 3] - Scene에 관하여 1 (0) | 2025.03.31 |
[D2D 게임만들기 2] - 라이브러리 (수정필요) (0) | 2025.03.27 |
[D2D 게임만들기 1] WinAPI 알아보기 (0) | 2025.03.26 |