Programming/Dev
-
[009] 플레이어 컨트롤Programming/Dev 2023. 6. 6. 20:13
이번 게시글에서는 간단하게 플레이어를 조종하는 것을 구현해보려고 한다. class Player : public IGameObject { public: class InputComponent { ... }; class PhysicsComponent { ... }; class AnimationComponent { ... }; public: Player(); ~Player() = default; virtual void Update(FLOAT deltaTime); virtual void Render(const ComPtr& commandList) const; private: InputComponent m_inputComponent; PhysicsComponent m_physicsComponent; Animatio..
-
[008] 에디트 컨트롤Programming/Dev 2023. 3. 25. 20:12
저번 게시글에서는 씬 전환을 구현했다. 그래서 지금 로그인 씬을 만드려고 한다. 그리고 로그인을 하려면 유저의 키보드 입력을 받아야하기 때문에 에디트 컨트롤을 구현해보려고 한다. void LoginScene::OnCreate() { LoginWnd* wnd{ new LoginWnd{ 300.0f, 300.0f } }; EditCtrl* editCtrl{ new EditCtrl{ 200.0f, 20.0f } }; editCtrl->SetPosition(FLOAT2{ 150.0f, 135.0f }, Pivot::CENTER); wnd->AddUI(editCtrl); EditCtrl* editCtrl2{ new EditCtrl{ 200.0f, 20.0f } }; editCtrl2->SetPosition(FLO..
-
[007] 씬 전환Programming/Dev 2023. 3. 18. 11:52
이번 게시글에서는 씬 전환을 구현하려고 한다. 일단은 '로고 씬' → '로그인 씬' 으로의 전환을 구현한다. SceneManager::SceneManager() : m_scene{} { LogoScene::Instantiate(); if (LogoScene::IsInstanced()) { LogoScene::GetInstance()->OnCreate(); SetScene(LogoScene::GetInstance()); } } 현재, 씬 매니저 클래스가 생성될 때 로고 씬으로 시작되게 되어있다. enum class FadeType { NONE, FADEIN, FADEOUT }; struct FadeInfo { FadeType type{ FadeType::NONE }; std::chrono::time_poi..
-
[006] 게임오브젝트 렌더링Programming/Dev 2023. 3. 5. 16:33
이전 게시글에서 DirectX12로 프레임워크를 변경했다. 그에 따라 많은 변경 사항들이 있었다. void NytLoader::Load(std::ifstream& fs, NytProperty* root) { ... case NytDataType::UI: data = new NytUI{ Read(fs) }; break; case NytDataType::IMAGE: data = new NytImage{ Read(fs) }; break; ... } 데이터 타입을 하나 추가했다. NytDataType::UI는 Direct2D 리소스, NytDataType::IMAGE는 D3D12 리소스를 만든다. template NytImage NytLoader::Read(std::ifstream& fs) { int lengt..
-
[005] Direct2D → DirectX12로 변경Programming/Dev 2023. 2. 19. 15:09
카메라 기능을 구현하려고 하는 도중 한 가지 생각이 들었다. 카메라 기능을 구현하기 위해 아래와 같이 코드를 작성한 상태였다. void LoginScene::Render(const ComPtr& renderTarget) const { WndManager::GetInstance()->Render(renderTarget); renderTarget->SetTransform(m_camera->GetMatrix()); m_paimon->Render(renderTarget); renderTarget->SetTransform(MATRIX::Identity()); } void NytImage::Render(const ComPtr& renderTarget) const { MATRIX view{}; renderTarget..