DirectX/DirectX 2D_(구)
DX_카메라 시점변환
컴맹학자
2021. 1. 5. 21:36
728x90
간단하게 키보드 입력에 따라 카메라의 시점을 바꿔주는 방법
S00_Test . cpp
더보기
#include "stdafx.h"
#include "S00_Test.h"
#include "Viewer/Following.h"
//그림 불러오기
#include "Object/Background.h"
#include "Object/Move.h"
S00_Test::S01_AABB(SceneValues * values) : Scene(values)
{
//카메라에 대한 정보를 받아옴
camera = values;
//파일경로
wstring shaderFile = L"Effect.fx";
background = new Background(shaderFile);
Ply = new Move(Vector2(0.0f, 0.0f), Vector2(3.0f, 3.0f));
Ply2 = new Move(Vector2(0.0f, 10.0f), Vector2(2.0f, 2.0f));
//카메라 제설정
SAFE_DELETE(camera->MainCamera);
camera->MainCamera = new Following(Ply);
}
S00_Test::~S01_AABB()
{
SAFE_DELETE(background);
SAFE_DELETE(Ply);
SAFE_DELETE(Ply2);
}
void S00_Test::Update()
{
D3DXMATRIX V = values->MainCamera->View();
D3DXMATRIX P = values->Projection;
if (Key->Down('Q'))
{
camera->MainCamera = new Following(Ply2);
}
else if (Key->Down('E'))
{
camera->MainCamera = new Following(Ply);
}
background->Update(V, P);
Ply->Update(V, P);
Ply2->Update(V, P);
}
void S00_Test::Render()
{
background->Render();
Ply->Render();
Ply2->Render();
}
S00_Test. h
더보기
#pragma once
#include "Scene.h"
class S00_Test : public Scene {
public:
S00_Test(SceneValues* values);
~S00_Test();
// Scene을(를) 통해 상속됨
void Update() override;
void Render() override;
private:
class Background * background;
class Prinny * Ply;
class Prinny * Ply2;
Collider* col;
SceneValues* camera;
};
실행