반응형

책의 소스 코드를 직접 작성해보면서 정리한 글입니다. (실습환경: windows)
책 소스 코드: GitHub - gameprogcpp/code: Game Programming in C++ Code
1. Component 역할(기능)
모든 Component의 부모 클래스이다.
Actor에서는 Component 타입으로 모든 컴포넌트를 관리한다. (다형성)
//Actor.hpp
std::vector<class Component*> _components;
2. Component.hpp
#pragma once
class Component
{
public:
Component(class Actor* owner);
~Component();
virtual void update(float delta_time);
protected:
class Actor* _owner;
};
3. Component.cpp
Component가 생성되면, 해당 Component를 사용할 Actor에게 자동으로 등록한다.
#include "Actor.hpp"
#include "component.hpp"
Component::Component(Actor* owner) : _owner(owner)
{
_owner->addComponent(this);
}
Component::~Component()
{
_owner->removeComponent(this);
}
void Component::update(float delta_time)
{
}반응형
'Game Programming in C++' 카테고리의 다른 글
| Game Programming in C++ Chapter2 - BGSpriteComponent (0) | 2025.09.06 |
|---|---|
| Game Programming in C++ Chapter2 - Sprite Component (0) | 2025.09.06 |
| Game Programming in C++ Chapter2 - Actor (0) | 2025.09.05 |
| Game Programming in C++ Chapter2 - Game Manager (0) | 2025.09.05 |
| Game Programming in C++ Chapter2 - 컴포넌트 기반 게임 객체 (0) | 2025.09.01 |