목록전체 글 (340)
응애맘마조
오늘도 어제에 이어 카메라에 대해서 배웠습니다. 3D 과정에서는 카메라가 많이 필요합니다. 하지만 지금 배우는 2D 과정에서는 카메라가 여러 개 필요하지 않고 하나만 필요합니다. 그래서 카메라도 Singleton을 사용합니다. (원래 카메라라는 개념은 없습니다. 정점도 없고 단지 출력만 해서 구현을 한 거라 존재하지는 않습니다.) 카메라도 행렬을 사용합니다. enum 안에 SPACE로 해서 WORLD와 SCREEN이 있습니다. WORLD는 카메라입니다. 다른 객체의 움직임에 사용됩니다. SPACE는 공간 이동을 받지 않습니다. 시간의 표시나 UI에 사용됩니다. 카메라는 V, P, VP를 사용합니다. V는 뷰 행렬(역이동 행렬)입니다. 이동 행렬을 사용하고 이동 방향의 반대로 객체가 움직이게 합니다. (그..
플레이어가 이동함과 동시에 카메라가 따라오게 하는 것이 과제였습니다. 단, 같이 따라오지 않고 플레이어가 이동했을 때 그 이동에 맞춰서 따라오게 이동 시키는 것이었습니다. //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 ..

개인적으로 바쁘다 보니 근황을 작성하지 못하고 바로 완성본을 올리게 되었습니다. 빨간색 블럭이 다가오게 되고 보라색 플레이어 객체에 닿게 되면 강제로 종료하게 되는 형식으로 만들었습니다. A : 왼쪽 블럭으로 이동 S : 가운데 블럭으로 이동 D : 오른쪽 블럭으로 이동 Spacebar : 다음 패턴 A, S, D 키에는 미사일 발사 기능이 같이 있습니다. 붉은색 블럭에 "절대" 닿지 않고 체력 바를 모두 깎으면 됩니다. 시간이 촉박해서 데모 버전 느낌으로 만들었습니다. 아직 버그가 많습니다. 읽어주셔서 감사합니다.
오늘부터 이틀간 카메라 이동에 대해서 배우게 되었습니다. 카메라 시점의 이동이 어떻게 변화하느냐에 따라 게임 품질과 역동성이 강조가 된다고 합니다. 먼저 다시 중요하게 필요했던 변수에 대해 작성하겠습니다. 변수로 메모리 할당에는 두가지 방법이 있습니다. 동적 생성과 지역 변수를 사용하는 방법입니다. 동적 생성은 사용자가 필요할 때 생성되고 필요 없을 때 해제 하는 방법입니다. 지역 변수는 선언 되었을 때 생성하고 메인 함수가 없어질 때 일괄적으로 해제가 됩니다. (지역 변수의 주기는 자동 주기입니다.) 사용하고 난 메모리는 계속 할당되어있을 필요가 없기 때문에 delete 함수를 사용하여 해제를 하는데 해제를 두 번 이상 하게 되면 프로그램 창을 닫았을 때 액세스 위반이 나게 됩니다. 이미 해제했던 메모..

DirectX를 하게 되면서 그래픽을 구현할 때 삼각형으로 그리게 됩니다. 그것을 사용해서 별을 그리는 것이 과제였습니다. #include "framework.h" ID3D11Buffer* ObStar::fillVertexBuffer = nullptr; ID3D11Buffer* ObStar::vertexBuffer = nullptr; void ObStar::CreateStaticMember() { VertexPC* Vertex; Vertex = new VertexPC[5 * 3]; for (UINT i = 0; i < 5; i++) { Vertex[i * 3].position.x = 0.0f; Vertex[i * 3].position.y = 0.0f; Vertex[i * 3].color = Color(1..