목록공부/2D과제 (37)
응애맘마조
주의 : 해당 게시물에서 작성될 내용은 과제를 해결하기 위해 출처의 내용을 그대로 작성한 부분이 많으며 일절 광고나 수익 창출 목적으로 쓰인 것이 아님을 밝힙니다. Deque 먼저 deque는 vector의 단점을 보완하기 위해 만들어졌습니다. vector처럼 배열 기반의 구조입니다. Double Ended Queue의 준말로 기존의 큐와는 다르게 앞 뒤 어디로든 자료를 넣을 수 있고 어디로든 뺄 수 있는 자료구조 형태를 의미합니다. vector에서는 새로운 원소가 추가될 때 메모리를 재할당하고 이전 원소를 복사하는 방식으로 인하여, 삽입시의 성능이 저하되는 단점이 있지만 deque는 이러한 단점을 보완하기 위해서 여러 개의 메모리 블록을 할당하고 하나의 블록처럼 여기는 기능을 제공합니다. 메모리가 부족..
꼬리를 물어 잔상을 만드는 것이 과제였습니다. //main.cpp #include "stdafx.h" #include "Main.h" void Main::Init() { player = new ObRect(); player->scale = Vector2(100.0f, 100.0f); trailNum = 10; trail.resize(trailNum); for (auto it = trail.begin(); it != trail.end(); it++) { (*it) = new ObRect(); (*it)->scale = Vector2(100.0f, 100.0f); (*it)->isVisible = false; } timer = 0.0f; index = 0; interval = 0.3f; } void Main..
사각형의 플레이어 오브젝트를 움직였을 때 다른 오브젝트에 충돌했을 경우 움직이게 하는 것이 과제였습니다. //main.cpp #include "stdafx.h" #include "Main.h" void Main::Init() { pl = new ObRect(); pl->scale = Vector2(100.0f, 100.0f); pl->color = Color(0.0f, 0.0f, 0.0f, 0.5f); rc = new ObRect(); rc->SetWorldPosX(300.0f); rc->color = Color(0.0f, 1.0f, 0.0f, 0.5f); rc->scale = Vector2(100.0f, 100.0f); cc = new ObCircle(); cc->SetWorldPosX(-300.0f)..
마우스가 어느 위치에서 충돌 하느냐에 따라 색깔이 변하고 그라데이션을 나타내는 것이 과제였습니다. //main.cpp #include "stdafx.h" #include "Main.h" void Main::Init() { rc = new ObRect(); rc->scale = Vector2(400.0f, 400.0f); } void Main::Release() { SafeDelete(rc); } void Main::Update() { rc->Update(); } void Main::LateUpdate() { if (rc->Intersect(INPUT->GetWorldMousePos())) { Vector2 dis = INPUT->GetWorldMousePos() - rc->GetWorldPos(); di..
저번 카메라 이동에 이어서 플레이어 객체 이동에 따라 카메라 범위에 맞춰 이동 하도록 하는 것이 과제였습니다. //main.cpp #include "stdafx.h" #include "Main.h" void Main::Init() { player.SetWorldPos(Vector2(0.0f, 0.0f)); player.scale = Vector2(80.0f, 80.0f); player.rotation = 0.0f; player.isAxis = true; player.isFilled = true; player.isVisible = true; player.color = Color(0.5f, 0.0f, 0.0f, 1.0f); player.pivot = OFFSET_LB; pet.SetParentRT(playe..