계층구조 설계
2023. 7. 5. 00:52ㆍ개인공부/Direct2D
부모 오브젝트와 자식 오브젝트 구조를 만들었다. 자식은 부모의 움직임을 따라가고 부모와 offset이 있어서 그만큼 떨어지게 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
void MainScene::Enter()
{
/// 리소스 로드
LoadSceneResources(L"MainScene");
/// 플레이어 오브젝트 추가
GameObject* player = new GameObject("player");
player->CreateComponent<Transform>();
Transform* transform = player->GetComponent<Transform>();
transform->SetPosition(Vector2(0.f, 0.f));
transform->SetRotation(0.f);
transform->SetScale(Vector2(50.f, 100.f));
player->CreateComponent<Movement>();
player->CreateComponent<BoxRender>();
player->CreateComponent<CircleCollider>()->SetRadius(50.f);
Animator* playerAnimator = player->CreateComponent<Animator>();
playerAnimator->CreateAnimation(L"bossWalk", L"boss", Vector2::Zero, Vector2(225.f, 225.f), Vector2(225.f, 0.f), 0.1f, 4);
playerAnimator->Play(L"bossWalk", true);
GameObject* tmp = player;
for (int i = 0; i < 10; ++i)
{
GameObject* car = new GameObject("car");
car->CreateComponent<Transform>();
Transform* transform1 = car->GetComponent<Transform>();
transform1->SetOffset(Vector2(-60.f, -10.f));
transform1->SetOffset(0.5f);
car->CreateComponent<CircleCollider>()->SetRadius(50.f);
car->CreateComponent<TextureRenderer>()->SetKey(L"car");
car->CreateComponent<Movement>();
tmp->AddChild(car);
tmp = car;
}
AddObject(player, OBJECT_TYPE::PLAYER);
GetCollisionManager()->CheckCollisionObjectType(OBJECT_TYPE::PLAYER, OBJECT_TYPE::PLAYER);
}
|
cs |
'개인공부 > Direct2D' 카테고리의 다른 글
스타크래프트 기능 구현 2 (0) | 2023.07.14 |
---|---|
충돌 연산 최적화 (0) | 2023.07.12 |
스타크래프트 기능 구현 1 (0) | 2023.07.10 |
카메라 (0) | 2023.07.06 |
충돌감지 (0) | 2023.06.14 |