Win32 api (44) 썸네일형 리스트형 Win32 api 강의 66 - 76화. 사실 좀더 빨리 끊었어도 됐는데, 뭔가 관성적으로 보게 된듯...Win32 api 가 사실 message loop, 윈도우 관련 구조체 + 함수, 리소스 등 사용법 몇가지만 익숙해지고 나면그다음부터는 그냥 만들고 싶은거 하면 된다. 이후 강의는 그래도 마무리하자는 느낌으로 봤지만, 역시나 큰 의미 없음. 그냥 클론 코딩밖에 안됨.이제 내 방식대로 하나씩 직접 만들어봐야겠다. 물론 AI + 구글링이 절반이겠지만. 독학하다보면 계속 튜토리얼의 늪에 나도 모르게 빠져드는 순간이 있다. 그게 지금인 듯......아무튼! 이로써 약 한 달간 Win32 api 강의 기록을 마치겠다. Win32 api 강의 64 - 65화. - RigidBody 구현.// CRigidBody.h...class CRigidBody : public CComponent{private: CObject* m_pOwner; Vector2 m_vForce; // 힘. Vector2 m_vAcceleration; // 가속도. Vector2 m_vVelocity; // 속도. float m_fMass; // 질량.public: void AddForce(const Vector2& force) { m_vForce += force; }public: void late_update();public: CRigidBody(); CRi.. Win32 api 강의 63화. - 메뉴바 토글. 이에 따른 윈도우 크기 조정 기능 구현.// CCore.h...class CCore{ SINGLETON(CCore)private: ... // 메뉴바. HMENU m_hMenu; // Tool Scene에서만 사용. ...private: ... void clear_screen(HDC hDC); ... public: ... void ToggleMenuBar(bool bMenu); void SetWindow(POINT ptResolution, Vector2 pos, bool bMenu);}; Tool 씬에서만 메뉴바가 보이도록 수정하기 위해 Core 클래스에 메뉴바 토글 기능을 추가. // CCore.cpp.... Win32 api 강의 62화. - State 패턴 설계.// AI.h...class AI{private: map m_mapState; // 상태 맵. CState* m_pCurrentState; // 현재 상태. CMonster* m_pOwner; // 소유자 몬스터.private: void AddState(CState* pState); void ChangeState(STATE_TYPE eType); void Update(); void SetOwner(CMonster* pOwner) { m_pOwner = pOwner; }public: CMonster* GetOwner() const { return m_.. Win32 api 강의 59 - 61화. - Fade 코드 수정.// CCamera.h...struct tCamEffectInfo{ CAM_EFFECT eEffect; float fDuration; float fTimeAcc;};class CCamera{ SINGLETON(CCamera)private: ... CTexture* m_pVeilTex; // 화면을 덮는 베일 텍스쳐. //CAM_EFFECT m_eEffect; // 카메라 효과. //float m_fEffectDuration; // 효과 지속 시간. //float m_fEffectTimeAcc; // 효과 시간 누적. .. Win32 api 강의 57 - 58화. - Alpha blend 사용.// CPlayer.cpp...void CPlayer::render(HDC hDC){ // 컴포넌트 렌더링 호출. // component_render(hDC); CTexture* pTexture = CResourceMgr::GetInstance()-> LoadTexture(L"Player", L"texture\\Player.bmp"); if (pTexture) { Vector2 pos = CCamera::GetInstance()->WorldToScreen(GetPos()); float width = static_cast(pTexture->GetWidth()); float height = static.. Win32 api 강의 55 - 56화. - 파일입출력 보완.// CScene_Tool.h... void SaveTileData(); void LoadTileData();... 툴씬에서 함수 2개를 추가해주고...이전에 구현한 저장, 로드 함수를 이 함수에서 대신 호출해준다.윈도우 운영체제에서 파일 저장 / 열기 할 때 뜨는 창을 사용해줄 거임. // CScene_Tool.cpp...void CScene_Tool::SaveTileData(){ wchar_t szFileName[MAX_PATH] = L""; OPENFILENAME ofn = {}; ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner = CCore::GetInstance()->GetMainHwnd(.. Win32 api 강의 54화. - 타일맵 파일입출력 간단 구현.// CScene_Tool.cpp...void CScene_Tool::SaveTileMap(const wstring& strRelativePath){ wstring fullPath = CPathMgr::GetInstance()->GetContentPath(); fullPath += strRelativePath; // FILE 은 C 표준 라이브러리의 파일 스트림 구조체. FILE* pFile = nullptr; _wfopen_s(&pFile, fullPath.c_str(), L"wb"); if (pFile == nullptr) { // 파일 열기 실패 return; } const vector& vec.. 이전 1 2 3 4 ··· 6 다음